Labour’s Brexit plans – which would see the UK joining a customs union with the EU – have been defeated by 323 to 240.
Labour leader Jeremy Corbyn had said his party will back another EU referendum if the plan was defeated.
MPs also rejected an SNP motion saying the UK should not leave the EU without a deal “under any circumstances” – by 324 to 288.
MPs are now voting on Labour MP Yvette Cooper’s amendment, which the government supports.
It says if MPs vote to delay Brexit, the government should seek an extension from the EU and bring forward legislation to change, in law, the date of the UK’s departure.
Theresa May announced on Tuesday that MPs will get a vote on delaying Brexit and whether the UK should leave on 29 March without a deal.
Mrs May announced this policy as she promised MPs a meaningful vote on her deal with the EU by 12 March.
The move was designed to head off a possible defeat when MPs vote on Ms Cooper’s amendment.
Ms Cooper did not drop her amendment, because she wants to hold Mrs May to her word – although the government has said it accepts the proposal.
Conservative MP Alberto Costa’s amendment, which seeks to protect the rights of UK citizens in the EU and vice versa, even if there is a no-deal Brexit, was accepted by the House without a vote, after the government said they supported it.
Mr Costa said he was still forced resign as an aide to Scottish Secretary David Mundell because of a convention that members of the government cannot table amendments to government motions.