The House of Commons voted 522 to 13, backing Theresa May’s call for an early poll in less than two months’ time.
The prime minister needed just 434 MPs – two thirds of the house – to meet the terms of the Fixed Term Parliament Act to bring the election forward from the scheduled date of 2020.
The Conservative leader has said a fresh endorsement from the electorate would strengthen her hand in Brexit talks and provide greater certainty.
Jeremy Corbyn supported the idea of an early election but nine Labour MPs did not back the plans, including Lis McInnes and Fiona Mactaggart.
Three Independent MPs and SDLP MP Alasdair McDonnell also voted against.