This afternoon MPs voted 522 to 13 in favour of the early ballot, the next vote had been billed for 2020.
The prime minister argued a fresh mandate would strengthen her hand in Brexit talks and provide certainty for the future.
Speaking during PMQs Jeremy Corbyn said: “We welcome the general election but this is a prime minister who promised there wouldn’t be one, a PM who cannot be trusted.
“She says it’s about leadership yet is refusing to defend her record in TV debates.
“And it’s not hard to see why, the PM says we have a stronger economy yet she can’t explain why people’s wages are lower today than they were ten years ago, or why more households are in debt, six million people earning less than the living wage, child poverty is up, pensioner poverty is up.”
May said she had been answering questions during PMQs every Wednesday from the day she became prime minister.
She added: “I will be taking out to the country a proud record of a Conservative government, a stronger economy, 30 million people with a tax cut, four million people taken out of income tax altogether, record employment and £250 a year more for pensioners - that's a record we can be proud of."
Under the Fixed-term Parliaments Act passed by the coalition government, May had to win the backing two thirds of MPs to move the election date forward – she won with a majority of 509.
Most of the Conservative, Labour and Lib Dem MPs voted in favour of an early election while SNP MPs abstained.