The French Senate has approved a controversial bill that makes it a criminal offence to deny that genocide was committed by Ottoman Turks against Armenians during World War I.
Armenia says up to 1.5 million people died in 1915-16 as the Ottoman empire split. Turkey rejects the term genocide and says the number was much smaller.
The measure will now be sent to President Sarkozy for final approval.
The bill’s passage in the lower house caused major tensions with Turkey.
Ankara froze ties with France after the vote last month and promised further measures if the Senate backed the proposal.
In the event the Senate approved the bill by 127 votes to 86.
The BBC’s correspondent in Istanbul, Jonathan Head, says stronger Turkish measures could include the withdrawal of ambassadors and creating more barriers to French businesses in Turkey.
In the first reaction from Ankara, Justice Minister Sadullah Ergin condemned the bill.
“The decision made by the Senate is a great injustice and shows total lack of respect for Turkey,” he told the CNN-Turk television channel.
The Turkish embassy in Paris warned that if President Sarkozy approved the bill, the damage done to relations between the two countries would be permanent.
“France is in the process of losing a strategic partner,” Turkish embassy spokesman, Engin Solakoglu, told AFP news agency.
Armenia described the vote as “historic”.
“This day will be written in gold not only in the history of friendship between the Armenian and French peoples, but also in the annals of the history of the protection of human rights worldwide,” said Armenian Foreign Minister Edward Nalbandian, in a statement carried by AFP.
The Turkish government argues that judging what happened to the Armenian community in eastern Turkey in 1915-16 should be left to historians, and that the French law will restrict freedom of speech.
Turkish officials acknowledge that atrocities were committed but argue that there was no systematic attempt to destroy the Armenian people – and that many innocent Muslim Turks also died in the turmoil of the events, in the middle of World War I.
France formally recognised the killings as genocide in 2001, one of more than 20 countries which have done so.
The current bill means that anyone denying the deaths were genocide would face a jail term and a fine of 45,000 euros (£29,000; $58,000).
The bill was put forward by President Sarkozy’s UMP party.
France has half a million citizens of Armenian descent, and correspondents say their votes may be important in this year’s presidential elections.
Ahead of the vote, a spokesman for the French foreign ministry called for “calm,” saying Turkey was a partner and a very important ally of France.