MONTREAL — Prime Minister Justin Trudeau eked out a win in Canada’s federal election Monday, the Canadian Broadcasting Corp. projected, but he failed to secure the majority he had sought last month when he rolled the dice and plunged the country into a bruising snap election.

With more than 80 percent of the polls reported, preliminary results indicated that the Liberals had won or were leading in 156 of the 338 seats in the House of Commons, short of the 170 required for a majority. Erin O’Toole’s Conservatives trailed with 121 seats.

It was unclear when the final outcome would be known. There were a record number of mail-in ballots to be assessed beginning Tuesday, and some polling centers reported long lines. When the election was called, the Liberals held 155 seats and the Conservatives had 119, which would leave the makeup of Parliament virtually unchanged at the end of the 36-day, nearly $480 million campaign.

The vote Monday capped a campaign that many here felt was unnecessary, failed to inspire much enthusiasm and featured ugly scenes of protesters — many of them opposed to coronavirus vaccines and vaccine mandates — screaming vulgarities at Trudeau and his family and at one point pelting him with gravel.

The campaign, wrote a Toronto Star columnist, “has essentially been a bad mood looking for a place to land.”

A Globe and Mail writer described it as a “mean, shallow, silly, pointless affair.”

Trudeau disagreed. Speaking to hundreds of supporters gathered at a hotel in downtown Montreal, the prime minister said that voters had given him a “clear mandate to get Canada through this pandemic and to the brighter days ahead.”

“There are still votes to be counted, but what we’ve seen tonight is that millions of Canadians have chosen a progressive plan,” he said shortly after 1 a.m. Tuesday. “Some have talked about division, but that’s not what I see.”

Trudeau, 49, came to power in 2015 on promises of “real change,” casting himself as a feminist climate warrior and champion of liberal values. He has since been buffeted by scandals, including revelations that he wore blackface makeup as a younger man. His government was reduced to a minority in 2019.

But even after six years of baggage and unfulfilled pledges, the race was not expected to be close. And though Trudeau clung to power, the results were expected to be viewed as a disappointment for the telegenic Liberal Party leader that could renew questions about his judgment.

He held a comfortable lead over O’Toole, 48, when he called the snap vote last month — two years before the next fixed election date under Canadian law — betting that his pandemic response would deliver him a majority.

But Trudeau misjudged the public appetite for a vote and ran a lackluster campaign. His rivals criticized him for calling an election during Canada’s fourth pandemic wave; at a campaign stop in Ontario last week, O’Toole called the decision “vain, risky and selfish.” Voters appeared to agree, viewing it as a power grab.

Trudeau failed to articulate why an election needed to happen now. He said he needed a strong mandate to chart the country through the pandemic and the economic recovery. But much in his platform echoed what he had promised in his budget, and he has not had much difficulty securing opposition party support for his agenda.

“It looks like nobody wanted an election,” Chantal Hébert, a Toronto Star columnist said on the Canadian Broadcasting Corp. election-night special. “And nobody got what they wanted.”

Others disagreed.

“I think he’s been vindicated in calling this election,” Gerald Butts, a longtime friend of Trudeau and one of his former aides, said on the same program. “Lots of people will debate whether this is really a win. I’m very old-fashioned about this stuff. When you’re prime minister after an election, you won the election.”

O’Toole, meanwhile, ran a campaign that exceeded expectations, particularly in the early weeks. His moderate platform targeted working-class voters, featured a version of a price on carbon and mostly avoided culture-war issues to build a “big blue tent.”

“We’re not your dad’s Conservative Party anymore,” the former military helicopter navigator said at a campaign event in Quebec last week.

But in moving to the middle, O’Toole disavowed many of the pledges, including on climate and guns, that he made last year to secure the Conservative Party leadership. Back then, he branded himself a “true blue” Conservative who would “take back Canada.”

He also abandoned a pledge in his federal election campaign platform to repeal a Liberal government ban on 1,500 models of “assault-style” guns, saying that he would leave the ban in place while a committee reviewed the government classification system.

His election campaign pivot risked alienating his base and gave his foes ammunition to argue that he would say anything to get elected.

His predecessor, Andrew Scheer, won the popular vote in 2019 but finished second in the seat count and eventually resigned as leader. The result was expected to cast O’Toole’s future as party leader into doubt.

O’Toole on Tuesday indicated that he intends to keep his job. “If [Trudeau] thinks he can threaten Canadians with another election in 18 months, the Conservative Party will be ready, and whenever that day comes, I will be ready to lead Canada’s Conservatives to victory,” he said.

The Liberals turned to several traditional wedge issues, including gun control and abortion rights, to try to gain an edge. They sought to leverage their support for mandatory vaccinations for federal civil servants and plane and train passengers, both of which poll well here. O’Toole supports vaccines but said he would not mandate them.

In the final days of the campaign, Trudeau tried to make the vote a referendum on his management of the pandemic. He attacked O’Toole for last year endorsing the pandemic response of Jason Kenney, Alberta’s United Conservative Party premier.

Kenney declared his western province “open for good” this year. Now, amid a coronavirus wave that has overwhelmed Alberta’s health-care system, he has reversed course, announcing new restrictions last week and a vaccine passport system.

“The choices that leaders make in a crisis matter,” Trudeau said in Montreal last week. “Half-measures won’t do to fight this pandemic.”

The election was expected to turn on familiar battlegrounds — the suburbs outside Toronto and Vancouver and the French-speaking province of Quebec.

Much also was expected to hinge on the potential for the left-leaning New Democratic Party and the insurgent right-wing People’s Party of Canada to siphon votes from the Liberals and Conservatives. Green Party leader Annamie Paul, who drew vociferous criticism from party members after a Green lawmaker defected to the Liberals this year, failed to win her seat in Parliament, thrusting her future as party leader into further jeopardy.

A wild card was the separatist Bloc Québécois, which got a much-needed boost in a leaders debate.

During the debate, the moderator challenged Bloc leader Yves-François Blanchet over his support for the “discriminatory” Bill 21, a controversial provincial law that bars some public-sector workers from wearing religious symbols such as hijabs or yarmulkes at work in the name of secularism.

“Those laws are not about discrimination,” Blanchet said. “They are about the values of Quebec.”

The question touched off a firestorm in the province, home to nearly a quarter of the seats up for grabs. Premier François Legault called the question “unacceptable.” The major federal party leaders called on the independent consortium that organized the debates to apologize.

Speaking before the election was called for Trudeau, voter Jordan St. James said Trudeau did a “great job” during the pandemic — but it wasn’t enough to win his vote. The 42-year-old spa manager said he would be voting for the New Democratic Party, but not with any great enthusiasm. “I chose the lesser of all the evils,” he said. “I think they’re the freshest. … The others are kind of sitting on their laurels.”

The best thing about the 36-day campaign? “It was very fast.”

Read more: