The government has bowed to MPs’ pressure over the post-Brexit rights of EU citizens and reaffirmed pledges to give the Commons a veto on a no-deal departure after the latest parliamentary wrangling over Theresa May’s deadlocked plans.

A day that had been heralded as the moment when backbenchers would seize control of the Brexit timetable from the prime minister lost some of its drama after May and her ministers gave way in a series of areas where they were likely to lose Commons votes.

The concessions meant that the set of votes on the government’s latest Brexit motion, tabled in lieu of a still-elusive revised departure plan, was the first without a defeat for May.

In one development that could gain in significance in the coming days, a Labour frontbench amendment proposing their own Brexit plan was defeated by 323 votes to 240, which under the new party policy should mean Labour will now push for a second EU referendum.

In a statement afterwards Jeremy Corbyn said Labour would back a public vote while also pushing for “other available options”, including a general election and Labour’s own Brexit plan.

May to offer workers' rights pledges to gain Labour Brexit support Read more

The key government climbdown was on an amendment tabled by the Conservative MP Alberto Costa, which called on ministers to secure the rights and status of EU nationals in the UK even in the event of no deal.

It was adopted by the government without a vote, but only after Costa was sacked as a government aide and the home secretary, Sajid Javid, said he backed the plan before May had herself done so.

Ministers unofficially accepted another amendment, from Labour’s Yvette Cooper, reiterating May’s commitment on Tuesday that she will allow MPs a vote on extending the Brexit deadline by mid-March if no departure deal has been agreed by then.

It had been expected this would mean Cooper’s amendment passing by acclamation. However, a handful of Brexiter Conservatives unexpectedly objected, forcing a vote. The plan was passed by 502 votes to 20.

Cooper, who has spearheaded cross-party efforts to ensure MPs are able to block a no-deal departure, praised the government’s agreement as “a very significant change”, but said she and the co-leaders of her campaign would maintain pressure on May to keep to her word.

Ministers also agreed to a parallel amendment by the Conservative MP Caroline Spelman on the same subject, which was passed without a vote, as was the plan tabled by Costa.

With just five amendments selected by the Speaker, John Bercow, this meant that as well as the Labour and Cooper amendments, only one more was voted on: an SNP-led plan to completely rule out no deal, which was easily defeated.

In another, albeit more minor, sign of government confusion, the beleaguered transport secretary, Chris Grayling, was spotted entering the wrong voting lobby before realising his error.

The main government concession was announced in the debate’s opening speech by the cabinet office minister David Lidington, May’s de facto deputy. He said the government would back Costa’s amendment, which had been signed by 135 MPs, among them many Conservatives – a clear sign it would pass anyway.

It decrees that the government should guarantee the rights of EU nationals as soon as possible “whatever the outcome of negotiations” on Brexit.

Lidington said: “In view of the fact our political objectives are the same, the government will accept the amendment today and take it up with the commission.”

The concession did not save Costa’s junior government job. Shortly before the debate he stepped down as the parliamentary private secretary to the Scotland secretary, David Mundell.

While a Downing Street spokesman said Costa had decided himself to resign due to the “longstanding convention” that MPs on the government payroll do not table amendments to official bills, a source close to the MP said he had effectively been sacked.

Costa, the son of Italian immigrants, has been quietly lobbying May over EU citizens’ rights for two years.

He later said he did not “give a stuff” about having to quit his post as PPS, when citizens’ rights were at stake.

Glenn Campbell (@GlennBBC) “I don’t give a stuff about being a junior aide. It’s about the rights of five million people



“If I had to resign for that - so be it” says ⁦⁦@AlbertoCostaMP⁩ pic.twitter.com/Wz6UcyO5dM

Adding to the confusion, the home secretary Sajid Javid seemed to pre-empt Lidington’s concession before the debate, using an earlier appearance before the home affairs select committee to say he had no objection to the amendment.

On being told that the government disagreed, Javid appeared flummoxed. “When did you hear that? From who?” he asked. When told it was the prime minister, Javid replied: “Did you? Right, OK.”

Cast of grotesques grind out another day in Westminster’s Truman Show | John Crace Read more

The shadow Brexit secretary, Keir Starmer, branded the events leading up to the debate a “shambles”, saying it was a “vignette on how Brexit has been going”. He said the government was “no closer to making progress” since the last Brexit motion two weeks ago.

Lidington also used his statement to stress his concerns about no deal. “There is no avoiding the fact that an abrupt departure from the European Union without an agreement of any kind would lead to a shock to our economy, and that it would not be possible for a government – even with the most meticulous planning of arrangements in this country – to mitigate and plan entirely for what might be happening outwith our own jurisdiction,” he said.

Summing up for the government, the Brexit secretary, Stephen Barclay, said ministers would honour the commitments of Cooper’s amendment. “They are commitments made by my right honourable friend the prime minister, and the government will stick by them,” he said.

Asked by Cooper in an intervention about reported comments from Andrea Leadsom, the leader of the Commons, that no deal could still happen even if MPs voted against it, Barclay reiterated his guarantee.