It’s now been two years and nearly three months since the EU referendum. I’m sure I speak for most of the country when I say it feels like we’ve been talking about Brexit for far longer.

It’s no secret I campaigned for the UK to remain and I’ve said all along that any form of Brexit – no matter how hard or soft – would result in fewer jobs, less prosperity and a reduced role for Britain on the world stage. The evidence for this is irrefutable.

However, the will of the British people was to leave the EU. I respect that and wanted us to make the best of the situation. That’s why, since the referendum, I’ve given the government my support where appropriate as they’ve tried to negotiate with the EU. It’s why, despite our many differences, I’ve worked closely with the Brexit secretary and other cabinet members to push for the best possible deal.

In good faith, I’ve given the government every bit of advice and information available to City Hall and every opportunity to strike a deal that would minimise the impact on people’s livelihoods. But I’ve become increasingly alarmed as the chaotic approach to the negotiations has become mired in confusion and deadlock, leading us down a path that could be hugely damaging – not only to London, but the whole country.

The unfortunate reality is that Theresa May has failed to negotiate a Brexit position with her own party – let alone agree a deal with the EU. At every stage, her government has looked unprepared and out of its depth, resulting in a litany of wrong turns. And, not for the first time, it seems the debate has become more about Boris Johnson’s political ambitions than what’s good for the country.

Until now, I’ve held out hope the government would finally get its act together, start listening to the advice of employers, trade unions and everyone who has a stake in getting this right and seek the best possible deal with the EU – putting the national interest ahead of narrow party politics. But it’s clear this prospect is now dead in the water.

With time rapidly running out, we are left with two possibilities – a bad deal, which could end up being so vague that we leave the EU blind to what our future relationship will be, or a “no-deal” Brexit.

Both these scenarios are a million miles from what was promised during the referendum campaign, only further exposing the lies and mistruths sold to the public. They are also both incredibly risky and I don’t believe May has the mandate to gamble so flagrantly with the economy and people’s livelihoods.

Terrifyingly, we are now in real danger of crashing out of the EU with no deal. Despite the fanciful assurances from Johnson, this would be by far the worst outcome – with independent research showing that it could potentially result in 500,000 fewer jobs across Britain by 2030. These are real jobs and people’s living standards being put at risk.

So, after a lot of careful consideration, I’ve decided the people must get a final say. This means a public vote on any deal or a vote on a no-deal, alongside the option of staying in the EU.

As mayor, I wouldn’t be doing my job standing up for Londoners if I didn’t say now that it’s time to think again about how we take this crucial decision.

I don’t believe it’s the will of the people to face either a bad deal or, worse, no deal. That wasn’t on the table during the campaign. People didn’t vote to leave the EU to make themselves poorer, to watch their businesses suffer, to have NHS wards understaffed, to see the police preparing for civil unrest or for national security to be put at risk if our co-operation with the EU in the fight against terrorism is weakened.

It’s time to take this crucial issue out of the hands of the politicians and return it to the peopleso that they can take back control. Another public vote on Brexit was never inevitable, or something I ever thought I’d have to call for. But the government’s abject failure – and the huge risk we face of a bad deal or a “no deal” Brexit – means that giving people a fresh say is now the right – and only – approach left for our country.