UK Prime Minister Theresa May has announced plans to call a snap general election on 8 June.
She said Britain needed certainty, stability and strong leadership following the EU referendum.
Explaining the decision, Mrs May said: "The country is coming together but Westminster is not."
Labour leader Jeremy Corbyn said his party wanted the election, calling it a chance to get a government that puts "the majority first".
The prime minister will refuse to take part in televised leader debates ahead of the vote, Number 10 sources said.
Mr Corbyn said Mrs May should not be "dodging" a head-to-head encounter, and the Lib Dems urged broadcasters to "empty-chair" the prime minister - hold a debate without her.
Live TV debates took place for the first time in a UK general election in 2010, and the experiment was repeated in 2015 using a range of different formats.
A BBC spokesman said that it was too early to say whether the broadcaster would put in a bid to stage a debate.
There will be a vote in the House of Commons on Wednesday to approve the election plan - the prime minister needs two thirds of MPs to vote in favour to bring forward the next scheduled election date of 2020.
Explaining her change of heart on an early election, Mrs May said: "I have concluded the only way to guarantee certainty and security for years ahead is to hold this election."
She accused Britain's other political parties of "game playing", adding that this risks "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. We have at this moment a one-off chance to get this done while the European Union agrees its negotiating position and before the detailed talks begin.
"I have only recently and reluctantly come to this conclusion. Since I became prime minister I've said there should be no election until 2020, but now I have concluded that the only way to guarantee certainty and security for the years ahead is to hold this election and seek your support for the decisions we must take."
In a statement outside Number 10, Mrs May said Labour had threatened to vote against the final Brexit agreement and cited opposition to her plans from the Scottish National Party, the Lib Dems and "unelected" members of the House of Lords.
"If we don't 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," she said.
Analysis: By BBC Political Editor Laura Kuenssberg
Senior government sources point to a specific factor that changed the prime minister's calculation on an early election.
The end of the likely tortuous Article 50 negotiations is a hard deadline set for March 2019.
Under the Fixed Term Parliaments Act, that's when the Tories would be starting to prepare for a general election the following year, with what one cabinet minister described as certain "political needs".
In other words, the government would be exposed to hardball from the EU because ministers would be desperate to avoid accepting anything that would be politically unpopular, or hold the Brexit process up, at the start of a crucial election cycle.
Ministers say that's the central reason for May's change of heart because "if there was an election in three years, we'd be up against the clock".
The PM challenged the opposition parties: "Let us tomorrow vote for an election - let us put forward our plans for Brexit and our alternative programmes for government and then let the people decide.
"The decision facing the country will be all about leadership. It will be a choice between strong and stable leadership in the national interest, with me as your prime minister, or weak and unstable coalition government, led by Jeremy Corbyn, propped up by the Liberal Democrats - who want to reopen the divisions of the referendum - and Nicola Sturgeon and the SNP."
Mr Corbyn said he welcomed the prime minister's decision, saying it would "give the British people the chance to vote for a government that will put the interests of the majority first", saying that this would include dealing with "the crisis" in housing, education funding and the NHS and pushing for an "economy that works for all".
He told the BBC: "I'm starting straight away and I'm looking forward to it and we'll take our message to every single part of this country... We're campaigning to win this election - that's the only question now."
Asked if he will be the next prime minister, the Labour leader said: "If we win the election - yes - and I want to lead a government that will transform this country, give real hope to everybody and above all bring about a principle of justice for everybody and economic opportunities for everybody."
Scotland's First Minister Nicola Sturgeon said she would be fighting the election "to win".
"I think the prime minister has called this election for selfish, narrow, party political interests, but she has called it and therefore I relish the prospect of getting out to stand up for Scotland's interests and values, standing up for Scotland's voice being heard and standing against the ability of a right-wing Conservative Party to impose whatever policies it wants on Scotland."
In his response to Mrs May's announcement, Lib Dem leader Tim Farron tweeted: "This is your chance to change the direction of your country. 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."
He also accused the PM of "bottling" the TV debates and urged broadcasters to "empty chair" her if she refused to take part.
MPs known to be standing down at the election:
- Alan Johnson - Labour
- Tom Blenkinsop - Labour
- Jim Fitzpatrick - Labour
- Oliver Letwin - Conservative
- Pat Glass - Labour
- Kenneth Clarke - Conservative
- Simon Burns - Conservative
- Ronnie Campbell - Labour
Mrs May spoke to the Queen on the phone on Easter Monday to let her know of the election plan, the prime minister's official spokesman said. She also got the full backing of the cabinet before calling the election.
Former prime minister David Cameron called Theresa May's decision to hold a snap general election "brave and right". In a tweet, he added: "My very best wishes to all Conservative candidates."
Another ex-PM, Tony Blair, said voters need to put election candidates under "sustained pressure" to say whether or not they would vote against a Brexit deal which does not deliver the same benefits as single market membership - or against a "damaging" decision to leave without a deal.
"This should cross party lines," he added.
British business groups gave a mixed response to the prime minister's sudden call for a general election, as the pound jumped on the news and shares fell.
European Council President Donald Tusk's spokesman said the 27 other EU states would forge ahead with Brexit, saying the UK election would not change their plans.
He added: "We expect to have the Brexit guidelines adopted by the European Council on 29 April and following that the Brexit negotiating directives ready on 22 May. This will allow the EU27 to start negotiations."