The non-binding motion, led by the Socialist Party and supported by several other opposition parties, was adopted with 169 votes for and one vote against.
Coming ahead of the start of the Winter Olympics in China, the motion also asked the government to protect Uyghur residents in France against any intimidation or harassment by China.
China's embassy in France said accusations of genocide or other abuses committed against its Uyghur population were "pure lies".
Activists and UN rights experts say at least 1 million Muslims are being detained in camps in the remote western region of Xinjiang. The activists and some Western politicians accuse China of using torture, forced labour and sterilisations.
China denies any human rights abuses in Xinjiang and says its camps provide vocational training and are needed to fight extremism.
"The sensationalist allegations concerning Xinjiang such as 'genocide' are pure lies based on prejudices and hostility towards China," the Chinese embassy in France said in a statement on its website.
It added that Xinjiang issues were not about ethnicity, religion or human rights, but about the fight against terrorism, radicalisation and separatism, which concern sovereignty, territorial integrity and national security of China.
French President Emmanuel Macron said in December that he did not want to "politicise" the Olympics.
The United States, Australia and Britain are among Western nations that have said they will not send officials to the 2022 Winter Olympics in order to send China a message over its human rights record.