The Liberals surged, the Conservatives sagged and the NDP crashed.
As by-elections go, Monday's vote in the nationalist riding of Lac-Saint-Jean was particularly dramatic. The Liberals ended up scoring an upset victory over the Conservatives and the Bloc Québécois, marking the first time in this Parliament that a seat has changed hands.
The final results were not particularly close, although the four major parties all believed they had a chance of making a decent showing.
However, Liberal candidate Richard Hébert won with 38.6 per cent of the vote and a 14-point lead over his Conservative rival and the question now is whether Lac-Saint-Jean is a sign that the governing party has room to grow in Quebec.
The Liberals finished the 2015 general election with a surprising haul of 40 of the 78 seats in Quebec. Still, party officials hope to make further gains in the province in 2019 to compensate for any losses in the Atlantic provinces, Ontario and British Columbia.
"Contrary to the situation in the rest of Canada, Prime Minister Justin Trudeau's honeymoon is not finished in Quebec," said pollster Jean-Marc Léger. "The Liberals have broken through in this nationalist riding for the first time since 1980, when Pierre Elliott Trudeau was prime minister and the Liberals took 74 out of 75 seats in Quebec."
Mr. Léger added the Liberals should not forget they benefited from vote-splitting among the other parties. "They won the riding with less than 40 per cent of the vote," he said.
Still, the results were humbling for the three rookie opposition leaders: Andrew Scheer's Conservatives took 25 per cent of the vote, Martine Ouellet's Bloc came in at 23.4 per cent and Jagmeet Singh's NPD finished with 11.7 per cent.
The voters' verdict was particularly harsh for the New Democrats, given the party had finished in second place in the riding in the 2011 and 2015 general elections.
"This was a bad night for the NDP," said Karl Bélanger, a political analyst who is a former senior NDP official. "The results illustrate the challenges ahead for Mr. Singh and the 16 NDP MPs in Quebec when it comes to keeping their beachhead in the province."
Located northeast of Quebec City, the largely francophone riding of Lac-Saint-Jean has traditionally been "bleu" – either of the Conservative or the Bloc Québécois hue. Since 1984, the riding, which has seen its boundaries grow over time, has voted twice for Brian Mulroney's Progressive Conservatives, five times for the Bloc Québécois and four times for Stephen Harper's Conservatives.
The Conservatives had been holding on to the riding ever since former Roberval mayor Denis Lebel's victory in a 2007 by-election. Mr. Lebel became a cabinet minister in the Harper government and the party's Quebec lieutenant, winning a total of four elections. However, he announced in June that he was leaving politics and joining the Quebec Forest Industry Council.
For the Conservatives, losing a seat in Quebec showcased the tough road ahead for Mr. Scheer in increasing his public profile in the province where he remains largely unknown.
His party's strategy in Lac-Saint-Jean was to hammer the Liberals on contentious issues such as the planned legalization of marijuana and protecting supply management in the agricultural sector. However, they struggled to attack Mr. Trudeau, who drew supportive crowds in his appearances in the riding over the summer.
"This is not the result that we hoped for, obviously, but let's be clear, the people of Lac-Saint-Jean decided to send an MP to Ottawa who would sit on the government's bench," Conservative MP Gérard Deltell told reporters in Ottawa. "They voted for power, but [in the next general election] in two years time, it will be an entirely different story."
The Liberals are now celebrating their victory, but said they will continue to try and build on their current support in Quebec.
Even though it finished in third place, the Bloc touted the fact its score had gone up five points in the riding since the last election.
"I have no doubt that in 2019, we can win that riding," said Bloc MP Rhéal Fortin. "Justin Trudeau's honeymoon period is coming to an end."
"We'll have to be very humble because there's a lot of work ahead of us before the next election, but honestly, all in all, I mean [winning in Lac-Saint-Jean for] the first time in 37 years, it's good news," Liberal Whip Pablo Rodriguez said.
Meanwhile, in a separate by-election on Monday, the Conservatives held on to a safe seat in Alberta as Dane Lloyd won with 77 per cent of the vote in Sturgeon River-Parkland. He will replace Rona Ambrose, the former interim leader of the Conservative Party.