Prime minister Theresa May has announced a snap general election for 8 June.
May had repeatedly denied that she would call an election before the next scheduled poll in 2020. But following a Cabinet meeting she said she would go to the country this year.
She made the announcement outside Downing Street after saying she had “reluctantly” come to a decision to hold a vote.
May said an election is only way to guarantee certainty and stability in the wake of Brexit.
Speaking from Number 10, the PM said: “Last summer, after the country voted to leave the European Union, despite predictions of immediate economic danger, we’ve seen consumer confidence remain high.
“Other political parties oppose it. At this moment of enormous national significance there should be unity but there is division.
“Opponents believe that because the government’s majority is so small they can force us to change course.
“I am not prepared to let them endanger the security of millions of working people. It weakens the government’s negotiation in Europe.”
The Liberal Democrats have welcomed the decision while Labour leader Jeremy Corbyn also welcomed calls for an early election saying it will “give the British people the chance to vote for a government that will put the interests of the majority first”.