Theresa May has shocked the country by going back on months of promises and calling for a general election as Britain heads into one of the most uncertain periods in its recent history.

The Prime Minister stood at the steps of 10 Downing Street and said only an election would ensure both that her opponents cannot derail Brexit and that Britain’s position is strong in talks with the European Union.

The Commons will vote on her plan on Wednesday, but polls already predict a substantial election victory for the Tories and a drubbing for Jeremy Corbyn’s Labour.

With her starting position looking stronger than any other party leader’s for decades, Ms May’s team felt confident enough to announce she would not take part in any live TV debates during the election campaign.

In yet another day of British political drama…

Jeremy Corbyn refused to say he would quit if Labour loses, while two of his MPs said they would not stand

The Liberal Democrats gained 2,500 members as they confirmed their anti-Brexit campaign

The SNP’s Nicola Sturgeon accused Ms May of the “most extraordinary U-turn”

The rumour mill started grinding as the cabinet met to finalise Ms May’s plans for an election, which had been weeks in the making.

Ever since she took office some Tory MPs have been pushing her to call an election with the knowledge that polls indicate voters do not see Mr Corbyn as a viable alternative.

What Theresa May said and what she really meant, according to John Rentoul

Ms May resisted until recently, when sources told The Independent she became concerned Tory rebels and political opponents in the Commons and Lords could derail the complex legislative programme she must pass to lock in Brexit.

Stunning listeners just after 11am on Tuesday she said: “I have just chaired a meeting of the Cabinet, where we agreed that the Government should call a general election, to be held on 8 June.”

One by one she attacked Labour, the Lib Dems, the SNP and “unelected members of the House of Lords” for challenging her Brexit programme, adding: “If we do not hold a general election now their political game-playing will continue, and the negotiations with the European Union will reach their most difficult stage in the run-up to the next scheduled election [in 2020].

“Division in Westminster will risk our ability to make a success of Brexit and it will cause damaging uncertainty and instability to the country.

“So we need a general election and we need one now.”

But her announcement came after election denials going back almost a year – as she ran for Tory leader in June she said there would be no election until 2020.

Theresa May goes back on election promise

She again ruled out the possibility in September after winning the keys to Downing Street, in October ahead of Tory conference and several times last month.

As well as her stated desire to strengthen her hand in Parliament, Ms May took the decision against a backdrop of ever more promising polls.

At the weekend a ComRes survey for The Independent gave the Tories a 21-point lead over Labour, with some seat projections suggesting Mr Corbyn’s party will fall from its current 229 to as low as 160, while the Tories could close in on 400.

Times Theresa May has said there won't be an election until 2020

So sturdy is her opening position that her aides felt able to openly state that she would point-blank refuse to take part in televised debates, a feature that have become a mainstay of election campaigns since 2010.

Mr Corbyn welcomed the election announcement arguing his party will offer “an effective alternative to a government that has failed to rebuild the economy”.

But asked if he would stand down as leader if the party lost the election, he said: “We are campaigning to win this election, that’s the only question now.”

Jeremy Corbyn dodges question on whether he would stand down if Labour is defeated

Labour MP Tom Blenkinsop was more unequivocal, saying he cannot “in good faith” run for re-election while Jeremy Corbyn is leader, while ex-Labour home secretary Alan Johnson decided to retire now rather than wait for 2022.

The Liberal Democrats, emboldened after deposing Tory Zac Goldsmith in a recent by-election on an anti-Brexit ticket, announced they had gained 2,500 new members in the wake of Ms May’s election statement.

Former cabinet ministers Vince Cable and Ed Davey are both set to try and win seats back from the Tories in pro-Remain seats in South London.

Leader Tim Farron said: “If you want to avoid a disastrous Hard Brexit. If you want to keep Britain in the Single Market. If you want a Britain that is open, tolerant and united, this is your chance.”

Opponents leapt on the announcement, branding it a major U-turn and a political move which showed Ms May putting the interests of her party before the country.

The First Minister of Scotland, SNP leader Nicola Sturgeon, called it “one of the most extraordinary U-turns in recent political history” and framed the announcement as a move to scupper Labour in England.

She said: “That means that this will be – more than ever before – an election about standing up for Scotland, in the face of a right-wing, austerity obsessed Tory government with no mandate in Scotland but which now thinks it can do whatever it wants and get away with it.”