The measure, passed by 162 votes to 148 with 22 abstentions, followed weeks of debate after it was proposed as part of a set of measures by President Francois Hollande in the wake of the jihadist attacks in Paris on November 13 that killed 130 people.
The nationality measure has strong public support but has deeply divided Hollande’s ruling Socialist Party.
Christiane Taubira resigned as justice minister late last month over her opposition to it and Hollande’s former prime minister Jean-Marc Ayrault has publicly condemned the amendment.
Socialist lawmakers, those from former president Nicolas Sarkozy’s right-wing Republicans party and the centrist party UDI party, voted in favour of the measure, but Socialist fringe parties and most of the ecologist lawmakers were opposed.
Lawmakers will vote on Wednesday on the collective package of measures proposed by Hollande. They voted on Monday in favour of the other key measure in the package, the move to enshrine the state of emergency in the constitution, giving the security forces greater powers.
Prime Minister Manuel Valls said he was confident the reforms would pass, and warned Socialist lawmakers that “to vote against (it) is to put the government in difficulty and leave the president in a minority”.
“Clearly, I await with confidence tomorrow’s vote on constitutional reform,” he said on Tuesday, warning that France still faces a terrorist threat “without doubt more serious than before November 13”.
For the measures to be fully adopted, they require not only the support of the lower house of parliament and the upper house, or Senate, but also a three-fifths majority of Congress — the body formed when both houses meet at the Palace of Versailles to vote on revisions to the constitution.
Earlier Tuesday, parliament overwhelmingly voted to extend the current state of emergency by another three months.
Rights groups say police are abusing their powers under the state of emergency, but the government argues that it is an essential step to protect the nation at a time when France could face another jihadist attack.