One of the more persistent narratives to emerge in the aftermath of the 2025 federal election is that a sizeable number of 2021 New Democrat (NDP) voters shifted to the Conservatives (CPC) in key working-class, union-heavy, and GTHA suburban ridings. But this theory doesn’t hold up when you examine the numbers closely.
This analysis tests the hypothesis that CPC gains came not from 2021 NDP voters but significantly more so from 2021 People’s Party (PPC) voters. The data tells a clear story that there is little evidence the CPC broke through in these working-class suburban ridings with left-of-centre voters, but instead relied heavily on consolidating the right-of-centre base by bringing in 2021 PPC voters in key ridings.
Three important notes:
- Pre-election polling suggests that 2021 non-voters were roughly evenly split between the Liberals and Conservatives. This analysis proceeds on that assumption. To disprove the central thesis, one would need to argue that Liberal gains stemmed disproportionately from 2021 non-voters breaking for the Liberals over the Conservatives. However, there’s little evidence to support this, especially given that the Liberal base in this election skewed older — a demographic more likely to have voted in 2021 due to historically higher turnout rates.
- The average swing away from the Green Party was just 450 votes per riding, compared to a drop of 2,040 votes for the PPC. For that reason, the PPC is the only smaller party included alongside the Liberals, Conservatives, and NDP in this analysis.
- Finally, Quebec ridings will be analyzed separately, as the presence of the Bloc Québécois introduces a distinct electoral dynamic that requires its own treatment.
National Picture
Let’s begin with national averages. Across all ridings, on average, the Liberals (LPC) gained 8,768 more voters than they received in 2021, the Conservatives gained 6,818, the NDP lost 5,245, and the PPC lost 2,040.
The net increase in votes cast per riding was 6,949 — a figure I refer to as “2021 non-voters.” In the graph, this appears as a negative swing for “2021 non-voters,” reflecting a reduction in the number of people who abstained from voting.
That leaves an average swing of 1,352 lost votes from other parties — Greens, Independents, and other parties — referred to going forward as “Unaffiliated voters.”
Swing Ridings
To better understand how votes shifted between parties, let’s examine the ridings that saw the largest swings in support for both the Liberals and the Conservatives.
The 10 ridings where the LPC gained the most were: Victoria, Esquimalt–Saanich–Sooke, Carleton, West Vancouver–Sunshine Coast–Sea to Sky Country, Kingston and the Islands, Essex, Nepean, Peterborough, Vernon–Lake Country–Monashee, and Ottawa Centre.
These saw a massive average vote increase of 19,500 per riding for the Liberals. The NDP, meanwhile, lost 11,500 votes, more than double their national average swing. CPC gains in these ridings were lower than average, and the unaffiliated vote dropped by just 2,200.
In short: In these ridings, the Liberals made gains here mostly at the NDP’s expense.
Now let’s examine the 10 ridings where the CPC gained the most: King–Vaughan, Vaughan–Woodbridge, Essex, Thornhill, Airdrie–Cochrane, Hamilton East–Stoney Creek, New Tecumseth–Gwillimbury, Sudbury East–Manitoulin–Nickel Belt, Windsor–Tecumseh–Lakeshore, and Parkland.
Here, the CPC gained 17,000 votes per riding, outpacing their national average. The LPC gains were 8,700, matching their national average. The NDP dropped 7,700 votes, and the PPC collapsed by 3,700 votes — nearly double their average drop.
Unless one believes that PPC voters shifted en masse to the Liberals, the numbers simply don’t support a meaningful NDP-to-CPC swing in these ridings. The Liberals increased their vote share at the same rate as their national average, leaving little room for significant NDP defection to the Conservatives.
Yes, many of these ridings are in the GTHA and include areas with significant trades or union presence — the kinds of places often cited as evidence of a left-to-right shift. But the data doesn’t support that narrative. Instead, the evidence suggests that CPC gains in these ridings were driven primarily by former PPC voters and 2021 non-voters — not by former NDP supporters.
To further prove this point, let’s go further by looking at the 10 ridings with the biggest PPC declines: Chatham-Kent–Leamington, Portage–Lisgar, Ponoka–Didsbury, Provencher, Beauce, Sarnia–Lambton–Bkejwanong, Essex, Peace River–Westlock, Haldimand–Norfolk, and Parkland.
In these ridings, Liberal gains aligned closely with their national average, while the Conservatives saw nearly double the average increase in new voters — approximately 12,000 per riding. The PPC lost about 6,800 votes per riding, and the NDP saw a smaller decline of around 5,800. This pattern strongly suggests that former PPC voters shifted to the Conservatives in large numbers, while Liberal gains were likely driven by a combination of former NDP voters and a share of new voters, split with the CPC.
Finally on to the NDP; their 10 biggest losses were: Essex, Kingston and the Islands, Windsor — Tecumseh — Lakeshore, Pitt Meadows — Maple Ridge
Vancouver Granville, West Vancouver — Sunshine Coast — Sea to Sky Country, Esquimalt — Saanich — Sooke, Similkameen — South Okanagan — West Kootenay, Kamloops — Thompson — Nicola, Dartmouth — Cole Harbour.
In these ridings, the NDP dropped 13,800 votes per ridings. The Liberals saw massive pickups in these ridings at 17,400 more votes, roughly twice their national average. The Conservatives see a pickup of 9,400 voters in these ridings, substantially lower than Liberal gains.
Flipped Seats
Of the 17 ridings the NDP lost, 10 flipped to the CPC and 7 to the LPC. Let’s break these down, with the addition of a new variable “Previous margin” which shows the average margin of victory in 2021.
Of the 17 seats the NDP lost, 10 went to the CPC: Cowichan — Malahat — Langford, Elmwood — Transcona, Skeena — Bulkley Valley, North Island — Powell River, Edmonton Griesbach, Kapuskasing — Timmins — Mushkegowuk, Windsor West, London — Fanshawe, Nanaimo — Ladysmith, and Similkameen — South Okanagan — West Kootenay.
7 went to the LPC: New Westminster, Burnaby — Maillardville, Victoria, Churchill — Keewatinook Aski, Burnaby Central, Hamilton Centre, Esquimalt — Saanich — Sooke, and Port Moody — Coquitlam.
In the 10 ridings that flipped from the NDP to the CPC, the Conservatives lost to the NDP by just 5,300 votes on average in 2021, roughly 2,500 votes less than the 2021 national average margin of victory of 7,700 votes. These were close races to begin with. In these 10 ridings, the NDP vote dropped by 4,500 votes while the Liberals gained by 7,900 votes, and the Conservatives gained by 9,200 votes. The PPC dropped by 3,200 votes in these ridings, which means 60% of the previous margin of loss for the CPC could have been made up solely through previous PPC voters.
Compare these 10 ridings to the 7 ridings that flipped from the NDP to the LPC; in these ridings, we see massive NDP drops and massive LPC gains, with comparatively smaller PPC and CPC losses.
Once again, unless one believes that 2021 PPC, unaffiliated , and new voters swung heavily toward the Liberals in 2025 — a claim for which there is little supporting evidence — the numbers simply don’t support the idea that a significant share of 2021 NDP voters shifted to the Conservatives. The data points in one clear direction: Conservative gains in 2025 were driven by former PPC supporters, and by splitting previously disengaged voters and those who had backed smaller third parties with the Liberals— not by voters abandoning the NDP for the CPC.
So What?
The NDP’s 6% vote share in 2025 reflects a party now anchored primarily in progressive urban centres, driven by voters motivated by social issues. Meanwhile, the “working-class” voters traditionally associated with the party — tradespeople, service workers, union members, etc.— have increasingly drifted away. Over the past several election cycles, blue-collar voters without a university degree have steadily migrated toward the Conservatives and, in some cases, the PPC. In 2025, that shift culminated in a full consolidation of this bloc around the Conservative Party. At the same time, the NDP’s university-educated base also moved decisively to the Liberals.
If the Liberal and Conservative parties increasingly dominate the electoral landscape, Canada may be drifting toward a more entrenched two-party system. If this continues, the incentives for both parties will shift: winning will mean locking down core blocs rather than building broad, cross-partisan appeal.
The Conservatives have successfully consolidated much of the right-of-centre vote by absorbing a large share of former PPC supporters — but with that comes the responsibility of managing a more ideologically rigid base. How the CPC navigates the expectations of this group while appealing to a broader electorate will be a challenging test, particularly with Mr. Poilievre likely to be representing one of the most right-leaning ridings in the country following the forthcoming by-election in Battle River-Crowfoot.
Prime Minister Carney enters office with a broad mandate, having received more total votes than any party in Canadian history. He has stated his intention to govern for all Canadians, and the question now is how he might use his mandate to expand his base rather than respond to the incentive of governing for the 50% +1 that a two-party system often presents.