Despite a bumpy first term, Justin Trudeau’s Liberal Party earns a second, narrow election win.
His party will claim the most seats in parliament but their second term will be much harder, relying on other parties to pass legislation.
The Liberals are expected to claim 156 seats, 14 short of a majority.
His centre-right Conservative rivals are heading for 122 seats, a marked increase from the 95 it held before.
Monday night’s results could be good news for the country’s left-leaning New Democratic Party (NDP) and its leader Jagmeet Singh, who could be kingmaker.
This federal election was seen as a referendum on Mr Trudeau, who endured a bumpy first term, tainted by scandal.
“You did it my friends. Congratulations!” he told cheering supporters in Montreal.
Turning to address those across the country who voted for him, he said: “Thank you for having faith in us to move our country in the right direction.”
And to those who did not back him, he promised his party would govern for everyone.
His weakened grip on power is being seen as a rebuke of his record but the result is bitterly disappointing for Conservative leader Andrew Scheer.
His party is expected to win the popular vote but failed to translate that support into seats.