The Islamist-rooted ruling AK party says the law will protect the population, particularly young people, from the harmful effects of alcohol.
Critics say it is a new move to impose an Islamic agenda on a secular, though predominantly Muslim, country.
The law bans the sale of alcoholic drinks between 22:00 and 06:00 and bans producers from sponsoring events.
To take effect, the law must be signed by President Abdullah Gul, but the politician – a member of the ruling AKP – is expected to do so soon.
Diageo Plc, the world’s largest distiller of alcoholic beverages, has expressed concern about the legislation.
In 2011, Diageo bought Mey Icki, a producer of the traditional Turkish spirit raki, for $2.1bn (£1.7bn).
It said this week it had bought the company in the belief it was investing in a country “that encouraged foreign investment”.
In other points of the new law
Alcohol sales will be prohibited within 100 metres (yards) of mosques and schools
Images of alcoholic drinks will have to be blurred on television
There will be stricter penalties for drink-driving, with drunken drivers with a blood alcohol level above 0.1% facing up to two years’ imprisonment
All liquor bottles will have to display warning signs about the harm of alcohol
Prime Minister Recep Tayyip Erdogan, who does not drink or smoke, said recently that ayran, a non-alcoholic yoghurt drink, was the “national drink” of the Turks.
AKP politician Lutfu Elva, head of the planning and budget commission, defended the law, saying similar restrictions were in place in Scandinavian countries.
But Musa Cam, an MP from the main opposition party, the CHP, said: “No one can be forced to drink or not to drink. This is a religious and ideological imposition.”
Quoted in an article in Turkish newspaper Hurriyet, he said: “This is not a struggle against the ills of alcohol but an attempt to redesign the society according to their [AK party] beliefs and lifestyle.”
Hasip Kaplan, a Kurdish MP, warned the law would hurt tourism, which “can’t recover easily once collapsed”, the state-run Anatolia news agency reports.