The last four years have kept us busy at FactCheck HQ, sifting through the claims, promises and stats put out by politicians on the thorniest issue facing British politics today: Brexit.

With Britain finally set to leave the EU, here’s our round up of the biggest broken promises, u-turns, half-truths and dodgy predictions of the Brexit saga — from all sides.

We’ve set them out in roughly chronological order, with some exceptions for clarity.

Get ready to relive it all…

Before and after the 2016 referendum

‘We send the EU £350 million a week. Let’s fund our NHS instead’

That was the infamous claim plastered across the Vote Leave bus. But as FactCheck and others reported at the time, it ignored the money we get back from the EU as a rebate. A more reliable contemporaneous figure would have been £234m a week.

Leading Leave campaigner Boris Johnson was rapped on the knuckles by the head of the UK Statistics Authority for the error.

After the referendum, Theresa May announced extra cash for the NHS and suggested it was a “Brexit dividend”.

But the director of the independent Institute for Fiscal Studies, Paul Johnson, pointed out that the government’s own analysis said Brexit would weaken public finances, and that the “divorce bill” and other commitments to replace EU funding already cancelled out the savings from the membership fees.

Boris Johnson on whether to Brexit at all

In 2001, Mr Johnson wrote that Britain’s interests are “still, on balance, served by maintaining our membership” of the EU.

But in 2016, the now-Prime Minister famously did not declare a position on Brexit until the referendum campaign was underway, and was still “deciding” as late as 6 February 2016, just four months before the vote. He reportedly wrote an unpublished column supporting remain, before plumping for Brexit later that month. FactCheck looked at his changing positions on Europe in more detail here.

Theresa May on Brexit and security

In 2016, the then-Home Secretary said: “Remaining a member of the European Union means we will be more secure from crime and terrorism.”

Two years later, having set out to deliver the Brexit she’d campaigned against, Mrs May put forward a Brexit deal that she claimed “protects our security with a close relationship on defence and on tackling crime and terrorism, which will help to keep all our people safe.”

David Cameron on staying on

Two weeks ahead of the referendum, Mr Cameron was asked about his position in the event of a Leave win: “Will I carry on as Prime Minister? Yes.” He pledged to “construct a Government that includes all the talents of the Conservative Party”.

But just hours after the results revealed his side’s defeat, he stepped down, saying “I don’t think it would be right for me to try to be the captain that steers our country to its next destination.”

David Cameron on triggering Article 50

Before the ballot, Mr Cameron told Parliament: “If the British people vote to leave, there is only one way to bring that about, namely to trigger Article 50 of the treaties and begin the process of exit, and the British people would rightly expect that to start straight away.”

Indeed, his own Treasury’s analysis of what might happen in the event of our departure from the EU was based on the assumption that the process would begin immediately after the vote.

But he reneged on this promise after the referendum, leaving the job to his successor, Theresa May — who eventually began the formal process of leaving the EU some nine months later.

George Osborne on the ‘immediate’ recession

One of the leading Remain campaigners, then-Chancellor George Osborne, said before the referendum that “a vote to leave would represent an immediate and profound shock to our economy. That shock would push our economy into a recession.”

These were predictions about what would happen in the two years following the Brexit referendum. But we now know that there was no recession in that period.

Though it’s worth saying that the prediction was based on the assumption that we would trigger Article 50 immediately after the referendum, which did not happen. We don’t know if Mr Osborne’s prediction would have come true had we begun the process of leaving straight away.

Boris Johnson on Brexit and the Irish border

Asked what he thought would happen at the border if the UK voted to leave the EU, Mr Johnson said during the referendum campaign: “I think the situation would be absolutely unchanged.”

He went on to talk about the “Common Travel Area”, which allows UK and Irish citizens to move freely between the two countries.

But as Mr Johnson now knows, there’s a lot more to the Irish border than the Common Travel Area. As both he and his predecessor Theresa May found, Brexit has huge implications for the customs arrangements between the UK and Ireland.

Remainer MPs who voted to trigger Article 50

Despite campaigning to Remain in the EU in 2016, many MPs voted to trigger Article 50 the following year.

These include Jeremy Corbyn, Yvette Cooper, Justine Greening, Dominic Grieve, Harriet Harman, Sajid Javid, Theresa May, Ed Miliband, George Osborne, Anna Soubry, Emily Thornberry and Chuka Umunna — many of whom have since returned to their pro-Remain stance.

John Major on a second referendum

In May 2016, just weeks before the Brexit vote, the former Prime Minister asserted: “There will not be another referendum on Europe. This is it.” He was campaigning for Remain.

But a few months later, in November, Sir John said the case for a second referendum was “perfectly credible”.

David Davis on a second referendum

In 2012, David Davis said: “If a democracy cannot change its mind it ceases to be a democracy”, a claim that proponents of a second Brexit referendum have levelled against him in the years since.

But when he became Brexit Secretary, Mr Davis seemed to have done a 180-degree spin, declaring in 2017: “there will not be a second referendum”.

Jo Swinson on whether to hold the first Brexit referendum

In 2008, Ms Swinson, who was then a backbench MP, said: “The Liberal Democrats would like to have a referendum on the major issue of whether we are in or out of Europe.”

But in 2019, she declared: “I don’t forgive David Cameron for calling the referendum,” adding that the former Prime Minister’s “shocking misjudgement” had “put the interests of the Conservative Party ahead of the national interest.”

After the referendum

Vince Cable on a second referendum

In September 2016, a few months after the referendum, then-leader of the Lib Dems said: “We must accept the public have voted on the matter.” He said calls for a second referendum were “politically counter-productive” and “disrespectful” to voters.

But in 2018, Mr Cable seemed to change his mind: “Brexit is not inevitable — it can and it must be stopped,” he said, adding that a second referendum was “the only democratic way out of the maze”.

Jeremy Corbyn on a second referendum

After the vote in 2016, Mr Corbyn was adamant: “We’ve had a referendum, a decision has been made… we must abide by the decision.”

But his party’s 2019 manifesto committed to negotiate a new deal with Brussels and put it to the public in a second referendum with the option to remain in the EU.

Theresa May on the date of our departure

“We will be leaving the European Union on 29 March. I believe we shall be leaving on 29 March with a good deal.”

The former PM committed to leave the EU on 29 March 2019 on no fewer than 133 occasions, according to Parliamentary records. Not only was she forced to delay the UK’s departure, she also failed to get her deal through.

By the time she left office in July 2019, Brexit had still not happened.

Boris Johnson talking Turkey

In January 2019, Mr Johnson claimed he “didn’t say anything about Turkey in the referendum… I didn’t say a thing about Turkey”, referring to the 2016 campaign.

In fact he, and the Vote Leave campaign he was part of, made several references to the country and migration from it in the run-up to the Brexit vote, as FactCheck reported.

Dominic Raab on warning of no-deal Brexit

The Foreign Secretary said in July 2019 that he and his fellow Leave campaigners had “made clear” that there was a chance that no deal would be struck between the UK and the EU. He claimed: “There’s all sorts of interviews [from the 2016 referendum campaign] which said that of course we’d prefer a deal, but that there would be a risk”.

But a FactCheck investigation of Vote Leave and Mr Raab’s personal websites, various BBC webpages, online newspaper archives, YouTube, radio and elsewhere found no evidence that he had warned of no-deal Brexit before the 2016 referendum.

The BBC found one example of a radio interview where Mr Raab was pressed on the possibility of trading with the EU on WTO terms, but he said he thought the outcome was unlikely.

Nigel Farage on delaying Brexit

Speaking ahead of the Conservative leadership election in May 2019, Mr Farage said: “Let’s make sure the country is ready on the 31st October to leave the European Union on whatever terms.”

But as the deadline approached, the Brexit party leader said in October 2019: “I would very much like us to leave on the 31 October but I understand that the Benn Act has been passed and that makes it impossible. But would I rather accept a new European treaty that is frankly very bad for us or would I prefer to have an extension and a general election? I would always go for the latter option.”

So it seems Mr Farage’s commitment leaving “on whatever terms” did not include Boris Johnson’s Brexit deal.

Boris Johnson on when Brexit will happen

Mr Johnson’s pitch as prospective Conservative leader was that he would guarantee the UK’s departure from the EU by 31 October 2019.

In September 2019, just a few weeks after taking office, he declared he’d “rather be dead in a ditch” than ask the EU for an extension to Article 50.

But in October, he did just that, under the terms of the so-called “Benn Act”, pushing Brexit day back to January 2020.

Defenders of Mr Johnson blame the delay on Parliament, though others have suggested that perhaps he shouldn’t have made the promise in the first place, given the likelihood of MPs blocking it.