The bill, approved by 106 votes to 19, must still be approved by the Senate and signed by the president to become law.
The French Foreign Ministry said immediately after the vote that the government would continue to oppose the motion. The ministry said in a statement that "this is just the beginning of a long legislative process" and added that it "appears unnecessary and untimely."
The bill sets out maximum penalties of 45,000 euros or up to five years in prison for anyone who denies that the killings were genocide.
Historians estimate that between 1915 and 1922, up to 1.5 million Armenians living in Ottoman Turkey died during mass slaughters and deportations.
Turkey does not dispute that fact that many Armenians died during that period, although it puts the total number at some 300,000.
Ankara says, though, that the deaths were a general result of World War I, in which all sides suffered. Ankara says an equal number of ethnic Turks perished and it has steadfastly denied that there was ever a policy of genocide against Armenians.
Ankara is extremely sensitive about the topic. Recently, several Turkish writers and academics have been put on trial for challenging Turkey's version of events. Before the vote, Ankara threatened France with economic retaliation if the law were approved.
But many French legislators who supported the bill said it was important for France, and the whole world, to take a stand on the issue.
"The massive, planned and targeted nature of these massacres has well demonstrated that it was a genocide," said Eric Raoul, a deputy in the National Assembly. "The systematic massacre of men and women, based on their ethnicity -- and according to a concerted policy -- corresponds to the definition of genocide, as it was defined for the first time by the lawyer Rafael Lemkin. The primacy of this genocide makes clear that this is not the business of one nation, but of humanity as a whole."
Another legislator, Richard Mallie, said Ankara's threats of an economic boycott "provides additional proof that the country is definitely not ready to enter Europe."
"Recognition of this tragedy is not directed against the Turkish government and Turkish population of today," Malliel said.
France actually recognized the killings of Armenians as genocide back in 2001. But that bill did not provide for any criminal penalties for denying genocide.
The bill is in line with France's existing law making it a crime to deny the Holocaust in World War II.
The bill was originally introduced by the opposition Socialists last spring, when it was shelved due to the controversy it caused.
Some deputies from the ruling conservative Union for a Popular Movement voiced their approval for the legislation. But many abstained from voting.
One deputy, Michel Piron, spoke for those who opposed the bill, when he said government or judicial institutions had no business interpreting history.
"History is not an object of the judiciary," Piron said. "In a free state, it belongs neither to parliament nor to the judiciary to define what is historic truth. Must one re-read [the Soviet novelist and dissident Aleksandr] Solzhenitsyn to remind ourselves of the type of regimes where the law dictates history, shapes memories, leaving behind peoples exhausted by lies and submitted to the worst manipulations?"
The vote comes two weeks after the European Parliament issued a report calling on Ankara to acknowledge the Armenian killings as "genocide." But the European Parliament deleted a clause that would have made recognition of the genocide a precondition for European Union membership.
Following the vote, the European Commission said passage of the French bill would complicate efforts at reconciliation with Turkey on the issue.
Turkey's parliament speaker called the vote a "shameful decision."
Armenia's Foreign Minister Vartan Oskanian called the French vote was "a natural continuation of France's principled and consistent defense of human and historic rights and values."
But Azerbajian, who is a close ally of Turkey and an adversary of Armenia, echoed Ankara's outrage at the French move.
Novruz Mamedov, a foreign affairs adviser for Azerbaijan's presidential administration, said France's decision "damages France itself, the cradle of democracy."
Mamedov said the French parliament "has fallen under the influence of Armenian circles."
CALL IT GENOCIDE? Questions surrounding the mass killings of Armenians at the beginning of the last century continue to dominate relations between Armenia and Turkey. In April, Ankara proposed conducting a joint Armenian-Turkish investigation into the mass killings and deportations of Armenians during World War I.
Turkish leaders suggested that the two countries set up a joint commission of historians to determine whether the massacres carried out between 1915 and 1917 constituted genocide. Armenia, however, insisted it would continue to seek international recognition and condemnation of what it says was a deliberate attempt at exterminating an entire people....(more)
ARCHIVE: For a complete archive of RFE/RL's coverage of Armenia, click here.