The government has staved off a backbench rebellion to reverse changes imposed on the controversial ID Cards Bill by peers.
The ID Cards Bill suffered a number of defeats in the Lords
Only 20 Labour MPs voted against the government, and the bill - opposed by the Tories and the Liberal Democrats - was passed by a majority of 31.
MPs also voted to force people to get cards when they apply for passports.
And a government compromise of agreeing to new legislation before ID cards are made compulsory was backed.
ID card plans will now go back before the House of Lords.
Prime Minister Tony Blair, who did not attend the debate because of plane troubles in South Africa, dismissed the idea that there was "a problem in civil liberties" with people having an identity card.
"And with the real problems people have today with identity fraud, which is a major, major issue; illegal immigration; organised crime: it's just the sensible thing to do," he told BBC News.
MPs backed plans to put people applying for passports from 2008 on the ID cards register.
This rejected a House of Lords amendment to make ID card take-up voluntary when people get a new passport.
And an amendment, put forward by former health secretary Frank Dobson, requiring the government to produce a report every six months, was approved without a vote.
That was put forward after peers last month voted for the scheme not to go ahead until the full costs were known.
Home Secretary Charles Clarke had said a stand-alone ID card would cost £30, while one linked to a passport would cost £93.
But that figure has been disputed, most notably by a London School of Economics (LSE) report estimating the cards could cost up to £300 each.
LSE's Dr Edgar Whitley told BBC News the government had previously oversold the advantages of the cards.
"They didn't think that ID cards would be a panacea for terrorism or for fraud or any of the things the government is claiming they're going to be solving."
Pollster Anita Anand, of You Gov, said that if the scheme cost £6bn - "a figure that some ministers have talked about" - then public support for it was at "2 to 1 against".
"If you go to the higher figures that the LSE and others have been talking about - £10bn or more - then you move to 8-1 against."
Home Office minister Andy Burnham told BBC News that the vote showed support for the Bill was "solidifying".
"We think it gives the vote a very clear mandate going forward," he added.
But shadow home secretary David Davis described the scheme as one of "creeping compulsion".
And Lib Dem home affairs spokesman Alistair Carmichael said the government had broken a general election pledge to introduce voluntary identity cards.