MPs have inflicted another Brexit defeat on the government in Parliament by backing measures designed to thwart preparations for a no-deal exit.
They backed an amendment to the Finance Bill, which would limit the scope for tax changes following a no deal unless authorised by MPs, by 303 to 296 votes.
Labour’s Jeremy Corbyn said a no deal should be ruled out “once and for all”.
Treasury minister Robert Jenrick said the “simple truth” was the UK would leave the EU on 29 March.
He said no-deal planning was “prudent preparation to provide our taxpayers with the certainty they deserve” and all the defeat would do would be to make the UK “somewhat less prepared”.
Before the vote, No 10 said a defeat would be “inconvenient rather than significant”, with experts pointing out there were other mechanisms available to government to raise money.
Twenty Conservative MPs rebelled against the government, including former cabinet ministers Michael Fallon, Justine Greening, Dominic Grieve, Ken Clarke and Oliver Letwin.
Mr Grieve said it was a “perfectly sensible” step given that he believed a no-deal exit presented the gravest peacetime threat to the UK in 70 years.
Mr Corbyn hailed the development as an “important step” towards preventing a no-deal Brexit.
The Labour leader tweeted: “It shows that there is no majority in Parliament, the Cabinet or the country for crashing out of the EU without an agreement.”
Analysis: Controlling the process
By the BBC’s chief political correspondent Vicki Young
Downing Street was saying earlier that this was not catastrophic if it was voted through as it is a minor issue when it comes to tax powers if there is a no-deal scenario.
What this is about is Parliament saying to the government “we can control this process” if it comes to it.
Opponents of a no-deal Brexit will say this shows they have the numbers to stop the government going down that path, although that will be argued against by the Brexiteers.
It also shows the difficulty that Theresa May has when it comes to legislation as she does not have a working majority.
Her arrangement with the DUP meant she was supposed to have a Brexit majority but if there are enough Conservative MPs willing to go against their own government, that disappears.
The prime minister could try and turn this around and say to the Brexiteers “you are jeopardising Brexit from happening at all” because there is not a majority for a no-deal Brexit in the Commons.
If you are trying to look for a bright side for the government, that is probably it.
The setback, the government’s sixth Commons defeat since July 2017, comes as MPs prepare to resume debate on Wednesday on the PM’s proposed Brexit deal, culminating in a vote next week.
It also comes at the end of a day in which senior ministers spoke out about the risks of exiting the EU without any agreement on the terms of withdrawal.
Work and Pensions Secretary Amber Rudd told the cabinet that the public would take a “dim view” of government if it settled for a disorderly Brexit and suggested it would make the UK less safe.
And Business Secretary Greg Clark said such an outcome “could not be contemplated”.
How have MPs reacted?
The Commons amendment, tabled by Labour’s Yvette Cooper, is designed to make a no-deal exit harder by limiting the Treasury’s ability to raise certain taxes after the UK left, without the explicit consent of Parliament.
The technical changes to a crucial piece of government legislation were intended to demonstrate to ministers the strength of opposition to a no-deal Brexit in the Commons.
Ms Cooper said although it would not block a no-deal exit, it “set a precedent” and showed MPs would not allow the UK “to just drift into it by accident”.
Lib Dem leader Sir Vince Cable said the vote was largely symbolic from an administrative point of view, as the powers being taken away from ministers were limited.
But he said it sent a potent message that Tory MPs would “revolt” if the government changed its policy and embraced no deal as its desired outcome.
Many Tory Brexiteers believe a no-deal exit, which would see the UK trade with the EU on the basis of World Trade Organization rules, is nothing to be feared.
Former Tory leader Iain Duncan Smith said “scare stories” that it would lead to planes being grounded and ports being gridlocked must be put to bed.
Tuesday’s vote, he told Sky News, did not alter the fact that MPs had already passed legislation last year specifying that the UK would leave on 29 March.
“We have legislated to leave the EU, with or without a deal… That is what people voted for.”
Can Parliament block a no-deal exit?
By the BBC’s Reality Check correspondent Chris Morris
There’s a big problem facing members of Parliament who want to avoid a no-deal Brexit.
They can’t just show there is a majority in the House of Commons against no deal – they need to prove there is a majority in favour of an alternative outcome.
That’s because leaving the EU – with or without a deal – is currently the default.
What we’re likely to see over the next couple of months is what some are calling “guerrilla warfare by amendment” in the House of Commons.
The trade bill is likely to be another target – it would be needed in the event of no deal, to try to keep the UK trading on the same terms as it has now with the rest of the world.
The idea behind all this parliamentary manoeuvring is to demonstrate that there is a clear majority in the House of Commons against no deal.
But none of it, taken in isolation, will prevent the Article 50 clock ticking away until it stops at the end of March.