"We need a general election and we need one now. We have at this moment a one-off chance to get this done... before the detailed talks begin," said May in a policy U-turn that caught everyone off-guard, AFP reported.
Speaking outside her Downing Street residence in London, May warned that "division in Westminster will risk our ability to make a success of Brexit".
She said Parliament would be asked to vote Wednesday to decide on whether or not to hold an election.
May justified her change of heart, saying: "I concluded the only way to guarantee certainty and security for years ahead is to hold this election."
The dramatic announcement caps nearly a year of tumult in British politics following the Brexit vote in June 2016 that included the resignation of May's predecessor David Cameron and her rapid rise to power last year.
A round of opinion polls over the Easter weekend also showed her Conservative Party far ahead of the main opposition Labour Party.
The Conservatives polled at between 38 percent and 46 percent, with Labour at 23 percent to 29 percent, according to the polls by YouGov, ComRes and Opinium.
The poll lead had prompted many senior Conservatives to call for an election, particularly as May will need a strong parliamentary majority as she seeks to negotiate Brexit.
The Conservatives currently have a majority of just 17 from the last election in 2015 and some of their MPs have indicated they could vote against the government on key aspects of Brexit legislation.
"Our opponents believe because the government's majority is so small that our resolve will weaken and that they can force us to change. They are wrong," May said on Tuesday.
EU leaders except May are set to hold a summit on April 29 where they will agree on the strategy for negotiating Britain's expected departure in 2019.
The negotiations themselves are not expected to start until May or June at the earliest.
The European Commission has said it wants the exit talks to be concluded by October 2018 at the latest and stressed in an initial reaction to May's shock announcement that the plans were unchanged.
Britain's next election was due to have been held in 2020 – a date enshrined in legislation according to which elections have to be held every five years in May.
But the law can be overruled if two-thirds of lawmakers in the British Parliament vote in favor of early elections -- and main opposition Labour leader Jeremy Corbyn said Tuesday he would back May's call.
May came to power in July 2016 following the resignation of Cameron, who had campaigned for Britain to stay in the European Union.
The 60-year-old vicar's daughter is Britain's second female prime minister after Margaret Thatcher and many commentators have drawn comparisons to the steely determination of the "Iron Lady".