MPs voted 319 to 308 in favour of removing an amendment to the Trade Bill which would have outlawed trade deals with countries judged to be committing genocide.
The government survived a rare rebellion amongst its own ranks as it moved to shun an amendment which would have forced ministers to withdraw from deals with nations the UK High Court ruled guilty of mass killings.
It comes amid condemnation of China’s treatment of the Uighur people.
Among those to defy the government were ex-Tory leader Iain Duncan Smith, former cabinet ministers David Davis and Damian Green and Tom Tugendhat, chair of the Foreign Affairs Select Committee.
A second measure, also endorsed by the Lords, requiring ministers to make a formal assessment of a country’s human rights record before striking a trade deal was heavily defeated by 364 to 267.
The rebellion is one of the largest on an issue not related to the Covid-19 pandemic during Boris Johnson’s time as prime minister.
The proposals were tabled by cross-bench peer Lord Alton in a bid to give British courts the right to decide if a country is committing genocide, a decision currently left to the jurisdiction of international courts.
Also backed by Labour, they would mean that ministers would have to revoke post-Brexit trade deals with countries that were ruled to be carrying out systematic mass killings.
The hashtag #GenocideAmendment was trending on Twitter shortly after the vote passed.
Caroline Lucas said parliament had a chance to say “never again and mean it” last night, with the amendment offering the opportunity to deliver on “so many fine words on upholding human rights that get spoken by MPs”.
While others pointed out the government’s voting record on other issues, such as protections for the NHS in trade deals.
Full list of MPs who voted the amendment down to come.
Related: Racecourse vaccination centre to shut for day to allow horse racing to continue