Standing outside her Downing Street office, Ms May said she had been reluctant about asking parliament to back her move to bring forward the election from 2020, but decided it was necessary to win support for her ruling Conservative Party's efforts to press ahead with Britain's departure from the EU.
Some were surprised by her move, she has repeatedly said she does not want to be distracted by time-consuming campaigning, but opinion polls give her a strong lead, the economy is weathering the Brexit vote and she has faced opposition from her own party for some of her domestic reforms.
The pound rose to a two-and-a-half-month high against the US dollar after the announcement, but Britain's main share index fell to its lowest point in more than seven weeks.
"It was with reluctance that I decided the country needs this election, but it is with strong conviction that I say it is necessary to secure the strong and stable leadership the country needs to see us through Brexit and beyond," Ms May said.
"Every vote for the Conservatives will make it harder for opposition politicians who want to stop me from getting the job done."
Britain joins a list of western European countries scheduled to hold elections this year. Votes in France in April and May and in Germany in September have the potential to reshape the political landscape around the two years of Brexit talks with the EU expected to start sometime in June.
Ms May is capitalising on her runaway lead in the opinion polls. The Conservative Party is around 20 points ahead of the main opposition Labour Party, a large lead for an incumbent party two years after the last parliamentary election.
The prime minister's own personal ratings also dwarf those of Labour leader Jeremy Corbyn, with 50 percent of those asked saying she would make the best prime minister. Mr Corbyn wins only 14 percent, according to pollster YouGov.
Before holding the election, Ms May must first win the support of two-thirds of the parliament in a vote on Wednesday. Labour said it will vote in favour of a new election, meaning she should be able to get it through.
"I welcome the prime minister's decision to give the British people the chance to vote for a government that will put the interests of the majority first," Mr Corbyn said in an emailed statement.
Other members of his party were less enthusiastic and other parties criticised her decision. Nicola Sturgeon, first minister of the Scottish government, described it as "huge political miscalculation" that could help her efforts to hold a new independence referendum.
Ms May, a former interior minister, was appointed prime minister after Britain's vote to leave the European Union in June 2016 forced the resignation of her predecessor David Cameron. A new election will be a vote on her performance so far.
Her spokesman said she had the backing of her top team of ministers and had informed Queen Elizabeth of her plans.
If the opinion polls are right, she will win a new mandate for a series of reforms she wants to introduce in Britain and also a vote of confidence in a vision for Brexit which sees the country outside the EU's single market.
"The decision facing the country will be all about leadership," Ms May said.
"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 division of the referendum."
(Additional reporting by William James, Kate Holton and Andy Bruce, writing by Estelle Shirbon, Editing by Sonya Hepinstall)