Skip to main content

Federal seat projection, 22 May 2025

As of 22 May 2025, from 6 polls

No federal election has been called, so this projection estimates the seats each party would win if an election were held at the time of the polls. Each riding’s 2025 result is moved by the change in the national polling average since that election, adjusted region by region with provincial and regional polls, and the election is then simulated 10,000 times, with polling and local errors of the size seen in past elections, to estimate each party’s chance in every riding and its range of seats.

An earlier projection, kept as published. The latest projection uses polls to 3 October 2026.

Computed retroactively on 10 October 2026, with the model and candidate list of that date, from the polls published up to 22 May 2025.

Seats

In 10,000 simulations, the Liberals win a median of 174 seats (90% range 108–238) and a majority in 53%; the Conservatives 137 seats (90% range 78–200) and a majority in 16%; the Bloc Québécois 20 seats (90% range 4–34); the NDP 9 seats (90% range 2–17); the Greens 2 seats (90% range 0–3). No party wins a majority in 30%.

  • Liberal majority

    53%

    Most seats in 71% of simulations

  • Conservative majority

    16%

    Most seats in 29% of simulations

  • No majority

    30%

    28 ridings with no party above 60%

Projected seats by party, median and 90% range, out of 343; 172 seats are a majority.
172 for a majority
Liberal

174 seats (108–238) · majority 53%

Conservative

137 seats (78–200) · majority 16%

NDP

9 seats (2–17)

Bloc Québécois

20 seats (4–34)

Green

2 seats (0–3)

Bars show each party’s median seat count in 10,000 simulations; the black line spans the middle 90% of simulations (the 90% range). The dashed line marks 172 of 343 seats. People’s Party and Other win no seat in the median simulation; People’s Party wins at least one in <1%, Other wins at least one in <1%.

Seat distributions

Seat distributions. Use the left and right arrow keys to read each party’s chance of a number of seats.
172 for a majority

Liberal

Median 174, 90%: 108–238

Majority in 53%

Most frequent: 177 (1.3%)

Conservative

Median 137, 90%: 78–200

Majority in 16%

Most frequent: 128 (1.4%)

NDP

Median 9, 90%: 2–17

Most frequent: 9 (9.3%)

Bloc Québécois

Median 20, 90%: 4–34

Most frequent: 21 (5.8%)

Green

Median 2, 90%: 0–3

Most frequent: 2 (47.6%)

Seat distribution by party in 10,000 simulations
PartyMedian seats90% rangeMost frequentChance of a majority
Liberal174108 to 238177 seats, 1.3% of simulations53%
Conservative13778 to 200128 seats, 1.4% of simulations16%
NDP92 to 179 seats, 9.3% of simulations0%
Bloc Québécois204 to 3421 seats, 5.8% of simulations0%
Green20 to 32 seats, 47.6% of simulations0%
The share of the 10,000 simulations in which each party wins each number of seats. Each party’s bars are scaled to its most frequent count, given beside it. Bracket: the middle 90% of simulations; tick: the median. The shaded side of the dashed line is a majority, 172 of 343 seats or more. Hover over, tap or use the arrow keys on the chart to read each party’s chance of exactly and of at least a number of seats.

What changed

New poll

  • Innovative Research, fieldwork to 22 May 2025, 2,517 respondentsLiberal 42 · Conservative 39 · NDP 8 · Bloc Québécois 6 · Green 3

Change since 21 May 2025

  • Median seats: Liberal +3, Conservative −3, NDP 0, Bloc Québécois −1, Green 0.
  • Chance of a majority, in points: Liberal +4, Conservative −2; no majority −2.
  • No riding changed projected leader.

Projected leader by riding

Each riding is coloured by the party most likely to win it, shaded by that chance. Hover over or tap a riding for its projected vote shares and each party's chance of winning it.

Ridings by projected leader
LibConNDPBQGrn
Solid 95%+5138000
Likely 80–95%6036261
Leans 60–80%51523141
Toss-up <60%28

Canada

Ottawa–Gatineau

Vancouver

Greater Toronto

Montreal

Calgary

Edmonton

Winnipeg

Seats changing hands

Won in 2025Projected
Lib169
Con144
NDP7
BQ22
Grn1
Lib162
Con126
NDP5
BQ20
Grn2
Toss-up28
Ridings by party: won in 2025, projected, gained, lost and now toss-ups
Party2025ProjectedGainsLossesToss-ups
Lib1691624–11
Con144126–513
NDP75––2
BQ2220––2
Grn121––
Toss-up 28 
Each riding from the party that won it at the 2025 general election to the party projected to win it, where that party’s chance is 60% or more; ridings where no party reaches 60% are toss-ups. Ribbons that change party are drawn darker. Hover over or tap a ribbon for its ridings and the projected leader’s chance in each. By-elections and members who changed party since 2025 are not shown as changes.

The path to a majority

Liberal172nd-best riding: Hamilton Centre, 54% · chance of a majority 53%

Conservative172nd-best riding: Mount Royal, 28% · chance of a majority 16%

Every riding ranked by each party’s chance of winning it, best first. The curve is that chance; the strip under it shows who is projected to win each riding, in the map’s colours (hatched: toss-up). A majority is 172 ridings, so the dashed line falls after each party’s 172nd-best riding (the dot). The party’s chance there is a rough guide to its chance of a majority, not the same number: a majority can be won with other combinations of ridings, and polling errors move most ridings together. Hover over, tap or use the arrow keys on a chart to read off a riding.

By region

2025 vote projected vote or median seats 90% range of seats 2025 seats

British Columbia43 seats

PartyVote, %Seats
Lib40.7%, 2025: 41.8%21+1 seats, 90% range 9 to 33; 2025: 20
Con38.8%, 2025: 41.2%17−2 seats, 90% range 5 to 30; 2025: 19
NDP13.7%, 2025: 13.0%3 seats, 90% range 0 to 7; 2025: 3
Grn6.0%, 2025: 3.0%1 seats, 90% range 0 to 2; 2025: 1

Alberta37 seats

PartyVote, %Seats
Con62.1%, 2025: 63.6%33−1 seats, 90% range 25 to 36; 2025: 34
Lib25.6%, 2025: 27.9%3+1 seats, 90% range 0 to 11; 2025: 2
NDP7.8%, 2025: 6.3%1 seats, 90% range 0 to 2; 2025: 1
Grn1.7%, 2025: 0.4%0 seats, 90% range 0 to 0; 2025: 0

Manitoba and Saskatchewan28 seats

PartyVote, %Seats
Con51.7%, 2025: 54.9%19−1 seats, 90% range 13 to 23; 2025: 20
Lib30.9%, 2025: 34.1%8+1 seats, 90% range 3 to 13; 2025: 7
NDP12.1%, 2025: 9.4%1 seats, 90% range 0 to 3; 2025: 1
Grn2.4%, 2025: 0.6%0 seats, 90% range 0 to 0; 2025: 0

Ontario122 seats

PartyVote, %Seats
Lib47.4%, 2025: 49.2%71+1 seats, 90% range 37 to 104; 2025: 70
Con41.2%, 2025: 43.8%49−3 seats, 90% range 16 to 83; 2025: 52
NDP6.7%, 2025: 4.8%1+1 seats, 90% range 0 to 3; 2025: 0
Grn2.9%, 2025: 1.1%1+1 seats, 90% range 0 to 1; 2025: 0

Quebec78 seats

PartyVote, %Seats
Lib41.1%, 2025: 42.6%46+2 seats, 90% range 30 to 63; 2025: 44
BQ26.1%, 2025: 27.7%20−2 seats, 90% range 4 to 34; 2025: 22
Con23.5%, 2025: 23.3%10−1 seats, 90% range 4 to 19; 2025: 11
NDP6.4%, 2025: 4.5%1 seats, 90% range 0 to 3; 2025: 1
Grn2.2%, 2025: 0.9%0 seats, 90% range 0 to 0; 2025: 0

Atlantic32 seats

PartyVote, %Seats
Lib53.6%, 2025: 55.5%23−1 seats, 90% range 12 to 31; 2025: 24
Con38.2%, 2025: 38.0%9+1 seats, 90% range 1 to 20; 2025: 8
NDP4.7%, 2025: 4.3%0 seats, 90% range 0 to 0; 2025: 0
Grn1.9%, 2025: 1.1%0 seats, 90% range 0 to 0; 2025: 0

Territories3 seats

PartyVote, %Seats
Lib48.7%, 2025: 50.5%2 seats, 90% range 0 to 3; 2025: 2
Con32.9%, 2025: 34.6%0 seats, 90% range 0 to 2; 2025: 0
NDP15.2%, 2025: 13.4%0−1 seats, 90% range 0 to 1; 2025: 1
Grn3.2%, 2025: 1.4%0 seats, 90% range 0 to 0; 2025: 0
Vote: each party’s share of the valid vote in 2025 and the projection’s estimate for the region now, on one scale (0–70%) for every region. Seats: the median and the middle 90% of the simulations, on each region’s own scale, and the change in the median from the 2025 result. Regions as in the model: Manitoba and Saskatchewan together; the three territories together.

All 343 ridings

Projected vote shares are medians across the simulations, with the middle 90% in brackets. Riding names link to the 2025 results.

A gain: the projected leader is not the party that won the riding in 2025, toss-ups included.

All 343 ridings: 2025 winner, projected leader, its chance of winning, category and projected vote shares (median and 90% range). Column buttons sort the table; the buttons above it filter it.
Abbotsford—South Langley2025: Con 43.1%Con 52 (37–66) · Lib 38 (24–53)Conservative 43.1%ConLikely81%LikelyConservative51.7 (37–66)Liberal37.8 (24–53)
Abitibi—Baie-James—Nunavik—Eeyou2025: Lib 41.2%Lib 41 (27–56) · BQ 31 (17–46)Liberal 41.2%LibLeans73%LeansLiberal41.2 (27–56)Bloc Québécois30.9 (17–46)Conservative21.6 (10–35)
Abitibi—Témiscamingue2025: BQ 49.4%BQ 47 (30–64) · Lib 25 (10–40)Bloc Québécois 49.4%BQLikely88%LikelyBloc Québécois47.1 (30–64)Liberal24.8 (10–40)Conservative19.9 (7–35)
Acadie—Annapolis2025: Con 47.7%Lib 49 (32–71) · Con 42 (19–59)Conservative 47.7%Libgain from ConLeans65%LeansLiberal49.4 (32–71)Conservative41.6 (19–59)
Acadie—Bathurst2025: Lib 67.5%Lib 65 (49–79) · Con 26 (12–41)Liberal 67.5%LibSolid98%SolidLiberal64.7 (49–79)Conservative26.2 (12–41)
Ahuntsic-Cartierville2025: Lib 61%Lib 58 (44–71) · BQ 16 (6–27)Liberal 61%LibSolid99%SolidLiberal58.0 (44–71)Bloc Québécois15.8 (6–27)Conservative15.2 (6–26)
Airdrie—Cochrane2025: Con 71.2%Con 69 (53–82) · Lib 21 (9–34)Conservative 71.2%ConSolid99%SolidConservative68.6 (53–82)Liberal21.0 (9–34)
Ajax2025: Lib 56.3%Lib 56 (41–70) · Con 35 (21–49)Liberal 56.3%LibLikely90%LikelyLiberal55.9 (41–70)Conservative34.8 (21–49)
Alfred-Pellan2025: Lib 54.6%Lib 52 (37–66) · Con 22 (10–34)Liberal 54.6%LibSolid97%SolidLiberal51.7 (37–66)Conservative21.5 (10–34)Bloc Québécois19.0 (8–31)
Algonquin—Renfrew—Pembroke2025: Con 55.7%Con 53 (38–67) · Lib 36 (22–50)Conservative 55.7%ConLikely86%LikelyConservative52.8 (38–67)Liberal35.8 (22–50)
Argenteuil—La Petite-Nation2025: Lib 47.5%Lib 45 (29–60) · Con 25 (12–39)Liberal 47.5%LibLikely87%LikelyLiberal44.6 (29–60)Conservative25.3 (12–39)Bloc Québécois21.2 (9–35)
Aurora—Oak Ridges—Richmond Hill2025: Con 54.7%Con 54 (40–68) · Lib 39 (25–53)Conservative 54.7%ConLikely82%LikelyConservative53.9 (40–68)Liberal39.1 (25–53)
Avalon2025: Lib 58.6%Lib 57 (41–73) · Con 35 (19–50)Liberal 58.6%LibLikely89%LikelyLiberal57.4 (41–73)Conservative34.6 (19–50)
Barrie South—Innisfil2025: Con 57.8%Con 55 (40–70) · Lib 36 (22–51)Conservative 57.8%ConLikely88%LikelyConservative55.2 (40–70)Liberal36.3 (22–51)
Barrie—Springwater—Oro-Medonte2025: Con 51.7%Con 49 (33–63) · Lib 42 (27–57)Conservative 51.7%ConLeans66%LeansConservative48.5 (33–63)Liberal41.9 (27–57)
Battle River—Crowfoot2025: Con 82.8%Con 80 (65–92) · Lib 9 (0–21)Conservative 82.8%ConSolid>99%SolidConservative80.1 (65–92)Liberal9.3 (0–21)
Battlefords—Lloydminster—Meadow Lake2025: Con 75.8%Con 72 (56–85) · Lib 16 (4–29)Conservative 75.8%ConSolid>99%SolidConservative71.6 (56–85)Liberal15.7 (4–29)
Bay of Quinte2025: Lib 50.4%Lib 50 (36–64) · Con 40 (26–54)Liberal 50.4%LibLeans74%LeansLiberal50.0 (36–64)Conservative39.8 (26–54)
Beaches—East York2025: Lib 67.7%Lib 66 (50–80) · Con 20 (8–33)Liberal 67.7%LibSolid99%SolidLiberal65.6 (50–80)Conservative20.1 (8–33)
Beauce2025: Con 59.7%Con 62 (45–77) · Lib 16 (4–31)Conservative 59.7%ConSolid99%SolidConservative62.2 (45–77)Liberal16.1 (4–31)Bloc Québécois11.2 (1–24)
Beauharnois—Salaberry—Soulanges—Huntingdon2025: BQ 43.9%BQ 42 (27–57) · Lib 30 (16–44)Bloc Québécois 43.9%BQLeans77%LeansBloc Québécois41.9 (27–57)Liberal29.7 (16–44)Conservative19.7 (8–33)
Beauport—Limoilou2025: Lib 35.6%Lib 36 (20–52) · Con 29 (14–44)Liberal 35.6%LibToss-up57%Toss-upLiberal35.7 (20–52)Conservative29.3 (14–44)Bloc Québécois25.5 (12–41)
Beauséjour2025: Lib 60.6%Lib 57 (41–73) · Con 33 (18–49)Liberal 60.6%LibLikely91%LikelyLiberal57.2 (41–73)Conservative33.4 (18–49)
Bellechasse—Les Etchemins—Lévis2025: Con 49.1%Con 49 (33–65) · Lib 26 (11–41)Conservative 49.1%ConLikely90%LikelyConservative49.4 (33–65)Liberal25.6 (11–41)Bloc Québécois16.7 (5–31)
Beloeil—Chambly2025: BQ 48.3%BQ 46 (30–61) · Lib 31 (17–47)Bloc Québécois 48.3%BQLikely82%LikelyBloc Québécois46.1 (30–61)Liberal31.3 (17–47)Conservative13.8 (3–26)
Berthier—Maskinongé2025: BQ 35%BQ 31 (17–48) · NDP 27 (8–42)Bloc Québécois 35%BQToss-up54%Toss-upBloc Québécois31.4 (17–48)NDP26.6 (8–42)Liberal20.9 (8–36)Conservative16.8 (5–30)
Bourassa2025: Lib 58.6%Lib 58 (44–71) · Con 16 (7–27)Liberal 58.6%LibSolid99%SolidLiberal58.0 (44–71)Conservative15.9 (7–27)Bloc Québécois15.5 (6–26)
Bow River2025: Con 78.9%Con 77 (62–89) · Lib 14 (3–26)Conservative 78.9%ConSolid>99%SolidConservative77.0 (62–89)Liberal13.7 (3–26)
Bowmanville—Oshawa North2025: Con 49.8%Con 47 (32–61) · Lib 44 (29–58)Conservative 49.8%ConToss-up59%Toss-upConservative47.0 (32–61)Liberal43.6 (29–58)
Brampton Centre2025: Lib 48.4%Lib 49 (34–63) · Con 42 (28–56)Liberal 48.4%LibLeans66%LeansLiberal48.5 (34–63)Conservative42.1 (28–56)
Brampton East2025: Lib 48.6%Lib 47 (33–62) · Con 43 (28–57)Liberal 48.6%LibLeans61%LeansLiberal47.4 (33–62)Conservative42.8 (28–57)
Brampton North—Caledon2025: Lib 49%Lib 47 (32–62) · Con 45 (30–60)Liberal 49%LibToss-up56%Toss-upLiberal47.3 (32–62)Conservative45.1 (30–60)
Brampton South2025: Lib 49.3%Lib 48 (33–63) · Con 46 (31–60)Liberal 49.3%LibToss-up56%Toss-upLiberal48.0 (33–63)Conservative45.5 (31–60)
Brampton West2025: Con 49.8%Con 49 (34–63) · Lib 44 (29–58)Conservative 49.8%ConLeans64%LeansConservative49.2 (34–63)Liberal43.6 (29–58)
Brampton—Chinguacousy Park2025: Lib 48.8%Lib 47 (32–62) · Con 42 (28–57)Liberal 48.8%LibLeans63%LeansLiberal47.1 (32–62)Conservative42.1 (28–57)
Brandon—Souris2025: Con 62.2%Con 59 (43–74) · Lib 19 (7–32)Conservative 62.2%ConSolid98%SolidConservative59.2 (43–74)Liberal18.8 (7–32)NDP16.8 (5–29)
Brantford—Brant South—Six Nations2025: Con 52.4%Con 49 (34–64) · Lib 39 (25–54)Conservative 52.4%ConLeans75%LeansConservative49.3 (34–64)Liberal38.9 (25–54)
Brome—Missisquoi2025: Lib 48.3%Lib 48 (32–63) · BQ 25 (12–40)Liberal 48.3%LibLikely90%LikelyLiberal47.7 (32–63)Bloc Québécois25.2 (12–40)Conservative18.6 (7–32)
Brossard—Saint-Lambert2025: Lib 62.2%Lib 60 (45–72) · Con 19 (9–31)Liberal 62.2%LibSolid99%SolidLiberal59.7 (45–72)Conservative19.2 (9–31)Bloc Québécois12.5 (4–22)
Bruce—Grey—Owen Sound2025: Con 53%Con 50 (35–64) · Lib 38 (24–52)Conservative 53%ConLeans78%LeansConservative49.6 (35–64)Liberal37.7 (24–52)
Burlington2025: Lib 55.8%Lib 54 (38–68) · Con 38 (23–53)Liberal 55.8%LibLikely83%LikelyLiberal53.5 (38–68)Conservative37.9 (23–53)
Burlington North—Milton West2025: Lib 52.7%Lib 51 (36–66) · Con 42 (27–56)Liberal 52.7%LibLeans71%LeansLiberal50.9 (36–66)Conservative41.9 (27–56)
Burnaby Central2025: Lib 42.2%Lib 43 (29–58) · Con 35 (21–49)Liberal 42.2%LibLeans71%LeansLiberal43.0 (29–58)Conservative34.6 (21–49)NDP18.6 (7–31)
Burnaby North—Seymour2025: Lib 59.1%Lib 58 (43–72) · Con 32 (18–46)Liberal 59.1%LibLikely94%LikelyLiberal57.5 (43–72)Conservative31.7 (18–46)
Bécancour—Nicolet—Saurel—Alnôbak2025: BQ 47%BQ 45 (28–61) · Lib 25 (11–41)Bloc Québécois 47%BQLikely85%LikelyBloc Québécois44.8 (28–61)Liberal24.8 (11–41)Conservative22.0 (8–37)
Calgary Centre2025: Con 50.2%Con 49 (33–64) · Lib 42 (26–57)Conservative 50.2%ConLeans64%LeansConservative48.5 (33–64)Liberal42.4 (26–57)
Calgary Confederation2025: Lib 48.1%Lib 47 (31–62) · Con 43 (27–58)Liberal 48.1%LibToss-up60%Toss-upLiberal46.9 (31–62)Conservative42.6 (27–58)
Calgary Crowfoot2025: Con 58.8%Con 57 (41–72) · Lib 34 (19–49)Conservative 58.8%ConLikely90%LikelyConservative57.2 (41–72)Liberal34.2 (19–49)
Calgary East2025: Con 60.5%Con 59 (43–74) · Lib 29 (15–43)Conservative 60.5%ConSolid96%SolidConservative58.7 (43–74)Liberal28.8 (15–43)
Calgary Heritage2025: Con 61.4%Con 60 (44–74) · Lib 32 (17–46)Conservative 61.4%ConLikely94%LikelyConservative59.6 (44–74)Liberal31.6 (17–46)
Calgary McKnight2025: Con 49.1%Con 50 (34–65) · Lib 41 (25–56)Conservative 49.1%ConLeans71%LeansConservative49.9 (34–65)Liberal40.8 (25–56)
Calgary Midnapore2025: Con 65.5%Con 64 (48–78) · Lib 27 (13–42)Conservative 65.5%ConSolid98%SolidConservative63.5 (48–78)Liberal27.0 (13–42)
Calgary Nose Hill2025: Con 59.4%Con 57 (41–73) · Lib 33 (18–48)Conservative 59.4%ConLikely91%LikelyConservative57.4 (41–73)Liberal32.9 (18–48)
Calgary Shepard2025: Con 68%Con 66 (50–80) · Lib 25 (12–40)Conservative 68%ConSolid99%SolidConservative65.8 (50–80)Liberal25.4 (12–40)
Calgary Signal Hill2025: Con 60.1%Con 60 (45–75) · Lib 32 (17–46)Conservative 60.1%ConLikely95%LikelyConservative60.0 (45–75)Liberal31.8 (17–46)
Calgary Skyview2025: Con 55.4%Con 58 (42–73) · Lib 34 (20–49)Conservative 55.4%ConLikely91%LikelyConservative57.6 (42–73)Liberal34.4 (20–49)
Cambridge2025: Con 48.6%Con 48 (33–62) · Lib 42 (28–56)Conservative 48.6%ConLeans65%LeansConservative47.6 (33–62)Liberal41.9 (28–56)
Cape Breton—Canso—Antigonish2025: Lib 51.6%Lib 49 (33–65) · Con 44 (27–60)Liberal 51.6%LibLeans62%LeansLiberal48.7 (33–65)Conservative43.7 (27–60)
Cape Spear2025: Lib 68.3%Lib 66 (50–81) · Con 25 (11–40)Liberal 68.3%LibSolid98%SolidLiberal66.4 (50–81)Conservative24.6 (11–40)
Cardigan2025: Lib 57%Lib 55 (38–71) · Con 38 (21–54)Liberal 57%LibLikely81%LikelyLiberal54.5 (38–71)Conservative38.1 (21–54)
Cariboo—Prince George2025: Con 60.3%Con 57 (42–71) · Lib 29 (16–43)Conservative 60.3%ConSolid96%SolidConservative57.4 (42–71)Liberal29.1 (16–43)
Carleton2025: Lib 50.9%Lib 52 (37–66) · Con 42 (28–56)Liberal 50.9%LibLeans73%LeansLiberal51.5 (37–66)Conservative41.6 (28–56)
Carlton Trail—Eagle Creek2025: Con 77.4%Con 73 (57–86) · Lib 14 (3–27)Conservative 77.4%ConSolid>99%SolidConservative72.9 (57–86)Liberal14.0 (3–27)
Central Newfoundland2025: Con 54.1%Con 54 (37–70) · Lib 41 (25–57)Conservative 54.1%ConLeans76%LeansConservative53.8 (37–70)Liberal40.6 (25–57)
Central Nova2025: Lib 51.9%Lib 49 (33–65) · Con 43 (27–59)Liberal 51.9%LibLeans63%LeansLiberal49.1 (33–65)Conservative43.1 (27–59)
Charlesbourg—Haute-Saint-Charles2025: Con 42.4%Con 43 (26–59) · Lib 32 (17–48)Conservative 42.4%ConLeans74%LeansConservative42.9 (26–59)Liberal31.8 (17–48)Bloc Québécois17.3 (5–31)
Charlottetown2025: Lib 64.8%Lib 61 (44–77) · Con 29 (14–45)Liberal 64.8%LibSolid95%SolidLiberal61.4 (44–77)Conservative29.2 (14–45)
Chatham-Kent—Leamington2025: Con 57.5%Con 54 (39–68) · Lib 34 (20–49)Conservative 57.5%ConLikely89%LikelyConservative54.2 (39–68)Liberal34.0 (20–49)
Chicoutimi—Le Fjord2025: Con 34.1%Lib 51 (33–69) · BQ 31 (15–48)Conservative 34.1%Libgain from ConLikely86%LikelyLiberal51.3 (33–69)Bloc Québécois30.9 (15–48)Conservative11.8 (1–26)
Chilliwack—Hope2025: Con 54.8%Con 52 (37–66) · Lib 34 (20–48)Conservative 54.8%ConLikely87%LikelyConservative51.7 (37–66)Liberal33.9 (20–48)
Churchill—Keewatinook Aski2025: Lib 45.5%Lib 42 (26–58) · NDP 32 (16–47)Liberal 45.5%LibLeans73%LeansLiberal42.4 (26–58)NDP31.9 (16–47)Conservative19.8 (8–34)
Châteauguay—Les Jardins-de-Napierville2025: Lib 45.2%Lib 45 (31–59) · BQ 27 (14–40)Liberal 45.2%LibLikely88%LikelyLiberal45.1 (31–59)Bloc Québécois26.5 (14–40)Conservative21.2 (10–33)
Cloverdale—Langley City2025: Con 47.8%Con 45 (30–60) · Lib 45 (30–60)Conservative 47.8%ConToss-up50%Toss-upConservative45.2 (30–60)Liberal45.0 (30–60)
Columbia—Kootenay—Southern Rockies2025: Con 50.4%Con 48 (31–64) · Lib 27 (13–42)Conservative 50.4%ConLikely88%LikelyConservative47.7 (31–64)Liberal27.0 (13–42)NDP19.1 (7–32)
Compton—Stanstead2025: Lib 45.6%Lib 45 (29–61) · BQ 23 (10–38)Liberal 45.6%LibLikely88%LikelyLiberal45.1 (29–61)Bloc Québécois23.3 (10–38)Conservative21.4 (9–35)
Coquitlam—Port Coquitlam2025: Lib 47.4%Lib 46 (31–60) · Con 40 (26–55)Liberal 47.4%LibLeans64%LeansLiberal45.7 (31–60)Conservative40.4 (26–55)
Courtenay—Alberni2025: NDP 39.6%NDP 41 (24–56) · Con 32 (17–47)NDP 39.6%NDPLeans70%LeansNDP41.2 (24–56)Conservative31.6 (17–47)Liberal20.7 (8–35)
Cowichan—Malahat—Langford2025: Con 37.2%Con 37 (22–52) · NDP 32 (17–47)Conservative 37.2%ConToss-up54%Toss-upConservative36.6 (22–52)NDP32.4 (17–47)Liberal25.0 (12–40)
Cumberland—Colchester2025: Lib 48.3%Lib 48 (32–63) · Con 44 (28–59)Liberal 48.3%LibToss-up59%Toss-upLiberal47.6 (32–63)Conservative43.7 (28–59)
Côte-Nord—Kawawachikamach—Nitassinan2025: BQ 43.7%BQ 42 (26–59) · Con 26 (12–41)Bloc Québécois 43.7%BQLeans76%LeansBloc Québécois42.0 (26–59)Conservative26.0 (12–41)Liberal25.7 (11–41)
Côte-du-Sud—Rivière-du-Loup—Kataskomiq—Témiscouata2025: Con 45.8%Con 46 (30–62) · Lib 28 (13–44)Conservative 45.8%ConLikely85%LikelyConservative46.4 (30–62)Liberal27.7 (13–44)Bloc Québécois18.1 (5–33)
Dartmouth—Cole Harbour2025: Lib 67.7%Lib 64 (48–79) · Con 23 (9–38)Liberal 67.7%LibSolid98%SolidLiberal64.4 (48–79)Conservative22.9 (9–38)
Davenport2025: Lib 57.8%Lib 53 (38–69) · NDP 21 (8–34)Liberal 57.8%LibSolid96%SolidLiberal53.2 (38–69)NDP20.7 (8–34)Conservative20.2 (8–34)
Delta2025: Lib 51.8%Lib 53 (38–67) · Con 39 (25–53)Liberal 51.8%LibLikely81%LikelyLiberal52.7 (38–67)Conservative39.1 (25–53)
Desnethé—Missinippi—Churchill River2025: Lib 65.1%Lib 61 (44–76) · Con 22 (9–37)Liberal 65.1%LibSolid98%SolidLiberal61.2 (44–76)Conservative22.1 (9–37)NDP11.6 (2–23)
Don Valley North2025: Lib 53.2%Lib 53 (38–68) · Con 38 (24–53)Liberal 53.2%LibLikely83%LikelyLiberal53.3 (38–68)Conservative38.1 (24–53)
Don Valley West2025: Lib 62.6%Lib 60 (45–74) · Con 31 (18–45)Liberal 62.6%LibSolid96%SolidLiberal60.2 (45–74)Conservative31.0 (18–45)
Dorval—Lachine—LaSalle2025: Lib 59.4%Lib 57 (43–70) · Con 21 (11–32)Liberal 59.4%LibSolid99%SolidLiberal57.1 (43–70)Conservative21.2 (11–32)Bloc Québécois11.8 (4–21)
Drummond2025: BQ 42.8%BQ 40 (24–57) · Lib 26 (11–42)Bloc Québécois 42.8%BQLeans76%LeansBloc Québécois40.4 (24–57)Liberal25.8 (11–42)Conservative22.9 (9–38)
Dufferin—Caledon2025: Con 60.1%Con 57 (42–71) · Lib 33 (20–47)Conservative 60.1%ConLikely93%LikelyConservative57.4 (42–71)Liberal33.2 (20–47)
Edmonton Centre2025: Lib 44.3%Lib 43 (28–58) · Con 34 (20–50)Liberal 44.3%LibLeans70%LeansLiberal43.0 (28–58)Conservative34.3 (20–50)NDP17.5 (4–30)
Edmonton Gateway2025: Con 50.6%Con 52 (36–68) · Lib 36 (21–52)Conservative 50.6%ConLikely82%LikelyConservative52.1 (36–68)Liberal36.3 (21–52)
Edmonton Griesbach2025: Con 45.5%Con 44 (28–62) · NDP 37 (16–52)Conservative 45.5%ConLeans67%LeansConservative44.0 (28–62)NDP36.5 (16–52)Liberal14.5 (4–27)
Edmonton Manning2025: Con 53.1%Con 51 (35–66) · Lib 32 (17–47)Conservative 53.1%ConLikely87%LikelyConservative50.7 (35–66)Liberal31.9 (17–47)NDP11.8 (1–23)
Edmonton Northwest2025: Con 53.4%Con 54 (38–68) · Lib 34 (19–48)Conservative 53.4%ConLikely89%LikelyConservative53.5 (38–68)Liberal33.5 (19–48)
Edmonton Riverbend2025: Con 50.2%Lib 48 (30–69) · Con 42 (21–60)Conservative 50.2%Libgain from ConLeans61%LeansLiberal47.5 (30–69)Conservative42.2 (21–60)
Edmonton Southeast2025: Con 52.9%Con 53 (38–69) · Lib 34 (19–49)Conservative 52.9%ConLikely87%LikelyConservative53.3 (38–69)Liberal34.3 (19–49)
Edmonton Strathcona2025: NDP 47%NDP 51 (27–67) · Con 29 (16–49)NDP 47%NDPLikely86%LikelyNDP50.9 (27–67)Conservative29.4 (16–49)Liberal14.6 (4–29)
Edmonton West2025: Con 52.9%Con 51 (35–66) · Lib 37 (22–52)Conservative 52.9%ConLeans79%LeansConservative50.8 (35–66)Liberal37.3 (22–52)
Eglinton—Lawrence2025: Lib 49.3%Lib 49 (35–64) · Con 43 (29–58)Liberal 49.3%LibLeans65%LeansLiberal49.4 (35–64)Conservative43.3 (29–58)
Egmont2025: Lib 51.9%Lib 48 (32–65) · Con 43 (26–60)Liberal 51.9%LibLeans61%LeansLiberal48.3 (32–65)Conservative43.2 (26–60)
Elgin—St. Thomas—London South2025: Con 50.1%Con 50 (35–64) · Lib 40 (26–54)Conservative 50.1%ConLeans74%LeansConservative49.8 (35–64)Liberal39.5 (26–54)
Elmwood—Transcona2025: Con 41.6%Con 39 (24–56) · NDP 38 (20–53)Conservative 41.6%ConToss-up53%Toss-upConservative39.2 (24–56)NDP37.5 (20–53)Liberal17.5 (6–31)
Esquimalt—Saanich—Sooke2025: Lib 49.3%Lib 49 (33–64) · Con 25 (12–39)Liberal 49.3%LibLikely92%LikelyLiberal48.9 (33–64)Conservative24.8 (12–39)NDP18.6 (7–32)
Essex2025: Con 57.5%Con 55 (39–69) · Lib 35 (21–49)Conservative 57.5%ConLikely88%LikelyConservative54.6 (39–69)Liberal34.9 (21–49)
Etobicoke Centre2025: Lib 53.6%Lib 52 (37–66) · Con 42 (27–56)Liberal 53.6%LibLeans74%LeansLiberal51.6 (37–66)Conservative41.6 (27–56)
Etobicoke North2025: Lib 52.6%Lib 53 (38–67) · Con 37 (23–51)Liberal 52.6%LibLikely84%LikelyLiberal52.7 (38–67)Conservative36.9 (23–51)
Etobicoke—Lakeshore2025: Lib 57.4%Lib 56 (40–70) · Con 37 (22–51)Liberal 57.4%LibLikely87%LikelyLiberal55.6 (40–70)Conservative36.5 (22–51)
Flamborough—Glanbrook—Brant North2025: Con 52.7%Con 50 (35–64) · Lib 41 (27–56)Conservative 52.7%ConLeans70%LeansConservative49.7 (35–64)Liberal41.2 (27–56)
Fleetwood—Port Kells2025: Lib 47.9%Lib 49 (34–63) · Con 40 (26–54)Liberal 47.9%LibLeans72%LeansLiberal48.6 (34–63)Conservative39.8 (26–54)
Foothills2025: Con 76.3%Con 74 (59–87) · Lib 17 (5–30)Conservative 76.3%ConSolid>99%SolidConservative73.9 (59–87)Liberal16.5 (5–30)
Fort McMurray—Cold Lake2025: Con 80.2%Con 78 (63–89) · Lib 12 (2–24)Conservative 80.2%ConSolid>99%SolidConservative77.9 (63–89)Liberal12.3 (2–24)
Fredericton—Oromocto2025: Lib 61.3%Lib 60 (44–74) · Con 31 (16–46)Liberal 61.3%LibLikely95%LikelyLiberal59.5 (44–74)Conservative30.9 (16–46)
Fundy Royal2025: Con 53.4%Con 53 (36–69) · Lib 37 (22–53)Conservative 53.4%ConLikely81%LikelyConservative53.2 (36–69)Liberal37.3 (22–53)
Gaspésie—Les Îles-de-la-Madeleine—Listuguj2025: BQ 45.8%BQ 47 (30–63) · Lib 34 (19–51)Bloc Québécois 45.8%BQLeans76%LeansBloc Québécois46.7 (30–63)Liberal34.4 (19–51)Conservative12.1 (1–25)
Gatineau2025: Lib 60.5%Lib 58 (42–72) · Con 20 (8–32)Liberal 60.5%LibSolid98%SolidLiberal57.7 (42–72)Conservative19.6 (8–32)Bloc Québécois15.0 (5–27)
Grande Prairie2025: Con 81.7%Con 79 (65–90) · Lib 10 (1–21)Conservative 81.7%ConSolid>99%SolidConservative79.3 (65–90)Liberal9.7 (1–21)
Guelph2025: Lib 54.7%Lib 51 (35–66) · Con 25 (13–39)Liberal 54.7%LibLikely94%LikelyLiberal50.5 (35–66)Conservative25.1 (13–39)Green17.5 (1–32)
Haldimand—Norfolk2025: Con 57.6%Con 54 (39–69) · Lib 34 (20–49)Conservative 57.6%ConLikely89%LikelyConservative54.4 (39–69)Liberal34.4 (20–49)
Haliburton—Kawartha Lakes2025: Con 56.6%Con 54 (38–68) · Lib 37 (23–52)Conservative 56.6%ConLikely85%LikelyConservative53.8 (38–68)Liberal37.1 (23–52)
Halifax2025: Lib 63%Lib 61 (45–78) · Con 18 (6–32)Liberal 63%LibSolid99%SolidLiberal61.3 (45–78)Conservative18.1 (6–32)NDP16.6 (1–30)
Halifax West2025: Lib 65.6%Lib 62 (46–77) · Con 27 (13–43)Liberal 65.6%LibSolid97%SolidLiberal62.2 (46–77)Conservative27.4 (13–43)
Hamilton Centre2025: Lib 37.6%Lib 36 (22–52) · NDP 33 (16–47)Liberal 37.6%LibToss-up54%Toss-upLiberal36.4 (22–52)NDP32.8 (16–47)Conservative24.8 (12–39)
Hamilton East—Stoney Creek2025: Con 48.7%Con 49 (34–62) · Lib 43 (29–57)Conservative 48.7%ConLeans65%LeansConservative48.5 (34–62)Liberal42.7 (29–57)
Hamilton Mountain2025: Lib 45.6%Lib 43 (28–58) · Con 38 (24–53)Liberal 45.6%LibLeans61%LeansLiberal42.8 (28–58)Conservative38.2 (24–53)NDP14.9 (4–26)
Hamilton West—Ancaster—Dundas2025: Lib 56.1%Lib 55 (40–70) · Con 32 (19–47)Liberal 56.1%LibLikely92%LikelyLiberal55.3 (40–70)Conservative32.3 (19–47)
Hastings—Lennox and Addington—Tyendinaga2025: Con 54.3%Con 51 (36–66) · Lib 38 (24–53)Conservative 54.3%ConLeans79%LeansConservative51.2 (36–66)Liberal38.2 (24–53)
Hochelaga—Rosemont-Est2025: Lib 46.1%Lib 45 (31–60) · BQ 24 (12–37)Liberal 46.1%LibLikely92%LikelyLiberal45.1 (31–60)Bloc Québécois24.2 (12–37)NDP16.0 (3–28)Conservative10.2 (2–20)
Honoré-Mercier2025: Lib 60.2%Lib 59 (46–72) · Con 21 (10–32)Liberal 60.2%LibSolid99%SolidLiberal59.3 (46–72)Conservative21.0 (10–32)Bloc Québécois11.5 (4–21)
Hull—Aylmer2025: Lib 62.1%Lib 59 (45–73) · Con 17 (7–29)Liberal 62.1%LibSolid99%SolidLiberal59.1 (45–73)Conservative17.4 (7–29)Bloc Québécois11.1 (2–21)
Humber River—Black Creek2025: Lib 55.6%Lib 53 (39–68) · Con 33 (19–48)Liberal 55.6%LibLikely89%LikelyLiberal53.3 (39–68)Conservative33.3 (19–48)
Huron—Bruce2025: Con 53.2%Con 50 (35–64) · Lib 40 (26–54)Conservative 53.2%ConLeans75%LeansConservative50.0 (35–64)Liberal39.5 (26–54)
Joliette—Manawan2025: BQ 49.3%BQ 47 (31–62) · Lib 29 (15–44)Bloc Québécois 49.3%BQLikely86%LikelyBloc Québécois47.1 (31–62)Liberal28.8 (15–44)Conservative15.6 (5–28)
Jonquière2025: BQ 40%BQ 38 (21–54) · Con 31 (16–46)Bloc Québécois 40%BQLeans60%LeansBloc Québécois37.7 (21–54)Conservative30.7 (16–46)Liberal23.6 (9–39)
Kamloops—Shuswap—Central Rockies2025: Con 52.2%Con 49 (33–64) · Lib 37 (22–53)Conservative 52.2%ConLeans75%LeansConservative49.0 (33–64)Liberal37.3 (22–53)
Kamloops—Thompson—Nicola2025: Con 51.5%Con 49 (33–64) · Lib 39 (24–55)Conservative 51.5%ConLeans72%LeansConservative48.6 (33–64)Liberal38.5 (24–55)
Kanata2025: Lib 60.8%Lib 58 (43–72) · Con 33 (19–47)Liberal 60.8%LibLikely93%LikelyLiberal58.0 (43–72)Conservative33.1 (19–47)
Kapuskasing—Timmins—Mushkegowuk2025: Con 48.9%Con 48 (34–62) · Lib 35 (21–49)Conservative 48.9%ConLeans80%LeansConservative48.0 (34–62)Liberal35.2 (21–49)NDP12.7 (3–23)
Kelowna2025: Lib 48.8%Lib 49 (34–64) · Con 42 (27–57)Liberal 48.8%LibLeans67%LeansLiberal49.4 (34–64)Conservative42.1 (27–57)
Kenora—Kiiwetinoong2025: Con 48.7%Con 45 (30–60) · Lib 33 (19–47)Conservative 48.7%ConLeans79%LeansConservative44.9 (30–60)Liberal32.6 (19–47)NDP17.2 (5–30)
Kildonan—St. Paul2025: Con 47.5%Con 45 (28–61) · Lib 40 (24–56)Conservative 47.5%ConToss-up60%Toss-upConservative44.5 (28–61)Liberal40.4 (24–56)
Kingston and the Islands2025: Lib 63.2%Lib 60 (45–74) · Con 28 (15–42)Liberal 63.2%LibSolid97%SolidLiberal60.1 (45–74)Conservative27.9 (15–42)
Kings—Hants2025: Lib 60.6%Lib 57 (41–73) · Con 34 (18–49)Liberal 60.6%LibLikely91%LikelyLiberal57.4 (41–73)Conservative33.5 (18–49)
King—Vaughan2025: Con 61.5%Con 59 (43–72) · Lib 34 (20–49)Conservative 61.5%ConLikely92%LikelyConservative58.6 (43–72)Liberal34.1 (20–49)
Kitchener Centre2025: Con 34.2%Grn 47 (6–66) · Con 28 (14–48)Conservative 34.2%Grngain from ConLeans78%LeansGreen47.2 (6–66)Conservative27.9 (14–48)Liberal20.4 (8–39)
Kitchener South—Hespeler2025: Con 47.9%Con 47 (32–61) · Lib 42 (28–56)Conservative 47.9%ConLeans63%LeansConservative46.8 (32–61)Liberal41.9 (28–56)
Kitchener—Conestoga2025: Lib 48.3%Lib 47 (32–61) · Con 45 (30–59)Liberal 48.3%LibToss-up55%Toss-upLiberal46.7 (32–61)Conservative45.0 (30–59)
La Pointe-de-l'Île2025: BQ 43.1%BQ 41 (26–56) · Lib 35 (21–50)Bloc Québécois 43.1%BQLeans65%LeansBloc Québécois41.2 (26–56)Liberal35.1 (21–50)Conservative13.0 (4–24)
La Prairie—Atateken2025: Lib 44.1%Lib 44 (29–58) · BQ 32 (18–46)Liberal 44.1%LibLeans79%LeansLiberal44.1 (29–58)Bloc Québécois31.8 (18–46)Conservative16.8 (6–29)
LaSalle—Émard—Verdun2025: Lib 50.9%Lib 50 (36–64) · BQ 19 (9–31)Liberal 50.9%LibSolid98%SolidLiberal50.3 (36–64)Bloc Québécois19.0 (9–31)Conservative13.4 (5–24)NDP12.6 (2–23)
Labrador2025: Lib 51.5%Lib 51 (34–66) · Con 40 (24–56)Liberal 51.5%LibLeans73%LeansLiberal50.5 (34–66)Conservative39.9 (24–56)
Lac-Saint-Jean2025: BQ 46.2%BQ 44 (27–60) · Con 25 (11–40)Bloc Québécois 46.2%BQLikely81%LikelyBloc Québécois43.8 (27–60)Conservative25.1 (11–40)Liberal23.8 (10–40)
Lac-Saint-Louis2025: Lib 67.6%Lib 65 (52–77) · Con 24 (14–36)Liberal 67.6%LibSolid99%SolidLiberal65.3 (52–77)Conservative24.1 (14–36)
Lakeland2025: Con 81%Con 78 (64–90) · Lib 10 (1–21)Conservative 81%ConSolid>99%SolidConservative78.4 (64–90)Liberal10.0 (1–21)
Lanark—Frontenac2025: Con 50.4%Con 47 (32–62) · Lib 43 (29–58)Conservative 50.4%ConLeans60%LeansConservative47.1 (32–62)Liberal43.4 (29–58)
Langley Township—Fraser Heights2025: Con 51.4%Con 49 (33–63) · Lib 42 (27–56)Conservative 51.4%ConLeans68%LeansConservative48.8 (33–63)Liberal41.5 (27–56)
Laurentides—Labelle2025: BQ 44.6%BQ 42 (25–59) · Lib 33 (17–49)Bloc Québécois 44.6%BQLeans72%LeansBloc Québécois42.4 (25–59)Liberal32.5 (17–49)Conservative15.1 (4–29)
Laurier—Sainte-Marie2025: Lib 52.1%Lib 48 (33–64) · NDP 24 (7–37)Liberal 52.1%LibLikely94%LikelyLiberal48.3 (33–64)NDP23.5 (7–37)Bloc Québécois13.9 (5–25)
Laval—Les Îles2025: Lib 49.7%Lib 47 (33–60) · Con 33 (20–45)Liberal 49.7%LibLikely85%LikelyLiberal47.0 (33–60)Conservative32.5 (20–45)Bloc Québécois13.5 (5–23)
Leduc—Wetaskiwin2025: Con 74.7%Con 72 (57–85) · Lib 15 (4–27)Conservative 74.7%ConSolid>99%SolidConservative71.9 (57–85)Liberal14.9 (4–27)
Leeds—Grenville—Thousand Islands—Rideau Lakes2025: Con 50%Con 47 (32–62) · Lib 42 (27–57)Conservative 50%ConLeans62%LeansConservative47.0 (32–62)Liberal42.2 (27–57)
Les Pays-d'en-Haut2025: Lib 41%Lib 41 (26–56) · BQ 33 (19–48)Liberal 41%LibLeans69%LeansLiberal41.0 (26–56)Bloc Québécois33.0 (19–48)Conservative17.7 (6–30)
Lethbridge2025: Con 61.1%Con 61 (45–76) · Lib 28 (14–43)Conservative 61.1%ConSolid96%SolidConservative60.9 (45–76)Liberal28.2 (14–43)
London Centre2025: Lib 56.7%Lib 53 (39–68) · Con 28 (15–42)Liberal 56.7%LibLikely94%LikelyLiberal53.2 (39–68)Conservative28.1 (15–42)NDP12.2 (2–23)
London West2025: Lib 56.2%Lib 54 (39–68) · Con 34 (20–48)Liberal 56.2%LibLikely89%LikelyLiberal53.5 (39–68)Conservative34.1 (20–48)
London—Fanshawe2025: Con 40.6%Con 39 (25–54) · NDP 31 (15–46)Conservative 40.6%ConLeans63%LeansConservative38.9 (25–54)NDP31.3 (15–46)Liberal26.1 (13–40)
Long Range Mountains2025: Con 50.3%Con 53 (37–69) · Lib 39 (23–55)Conservative 50.3%ConLeans79%LeansConservative53.3 (37–69)Liberal38.7 (23–55)
Longueuil—Charles-LeMoyne2025: Lib 49.4%Lib 47 (32–62) · BQ 25 (13–38)Liberal 49.4%LibLikely92%LikelyLiberal46.8 (32–62)Bloc Québécois25.3 (13–38)Conservative17.1 (7–29)
Longueuil—Saint-Hubert2025: Lib 41%Lib 41 (27–55) · BQ 36 (22–50)Liberal 41%LibLeans63%LeansLiberal40.8 (27–55)Bloc Québécois36.0 (22–50)Conservative13.8 (4–25)
Louis-Hébert2025: Lib 55.4%Lib 52 (36–68) · Con 21 (8–35)Liberal 55.4%LibSolid95%SolidLiberal52.2 (36–68)Conservative20.6 (8–35)Bloc Québécois19.7 (7–34)
Louis-Saint-Laurent—Akiawenhrahk2025: Con 44.9%Con 45 (28–61) · Lib 30 (15–46)Conservative 44.9%ConLikely80%LikelyConservative45.1 (28–61)Liberal30.1 (15–46)Bloc Québécois17.0 (5–31)
Lévis—Lotbinière2025: Con 47.7%Con 48 (31–64) · Lib 27 (12–43)Conservative 47.7%ConLikely88%LikelyConservative48.1 (31–64)Liberal26.6 (12–43)Bloc Québécois17.5 (5–32)
Madawaska—Restigouche2025: Lib 55.2%Lib 54 (38–70) · Con 38 (23–54)Liberal 55.2%LibLikely82%LikelyLiberal54.3 (38–70)Conservative38.3 (23–54)
Malpeque2025: Lib 57.6%Lib 54 (37–71) · Con 36 (20–53)Liberal 57.6%LibLikely83%LikelyLiberal53.8 (37–71)Conservative36.4 (20–53)
Marc-Aurèle-Fortin2025: Lib 52%Lib 51 (37–65) · BQ 21 (10–34)Liberal 52%LibSolid97%SolidLiberal51.2 (37–65)Bloc Québécois21.2 (10–34)Conservative20.2 (9–32)
Markham—Stouffville2025: Lib 51.4%Lib 49 (34–64) · Con 43 (29–57)Liberal 51.4%LibLeans66%LeansLiberal49.3 (34–64)Conservative42.7 (29–57)
Markham—Thornhill2025: Lib 54.5%Lib 55 (40–69) · Con 38 (24–52)Liberal 54.5%LibLikely86%LikelyLiberal54.7 (40–69)Conservative38.0 (24–52)
Markham—Unionville2025: Con 50.7%Lib 51 (35–73) · Con 41 (20–57)Conservative 50.7%Libgain from ConLeans70%LeansLiberal51.3 (35–73)Conservative41.2 (20–57)
Medicine Hat—Cardston—Warner2025: Con 76.7%Con 74 (59–87) · Lib 15 (4–28)Conservative 76.7%ConSolid>99%SolidConservative73.7 (59–87)Liberal15.0 (4–28)
Middlesex—London2025: Con 51.7%Con 49 (34–63) · Lib 40 (26–55)Conservative 51.7%ConLeans71%LeansConservative48.5 (34–63)Liberal39.9 (26–55)
Milton East—Halton Hills South2025: Lib 48.3%Lib 49 (34–63) · Con 44 (29–57)Liberal 48.3%LibLeans63%LeansLiberal48.5 (34–63)Conservative43.6 (29–57)
Mirabel2025: BQ 39.9%BQ 38 (23–53) · Lib 31 (17–46)Bloc Québécois 39.9%BQLeans64%LeansBloc Québécois37.8 (23–53)Liberal31.0 (17–46)Conservative22.6 (10–36)
Miramichi—Grand Lake2025: Con 48.2%Con 50 (34–66) · Lib 42 (26–58)Conservative 48.2%ConLeans68%LeansConservative50.1 (34–66)Liberal41.8 (26–58)
Mission—Matsqui—Abbotsford2025: Con 56.7%Con 54 (39–68) · Lib 35 (21–50)Conservative 56.7%ConLikely88%LikelyConservative53.8 (39–68)Liberal35.4 (21–50)
Mississauga Centre2025: Lib 53.9%Lib 54 (39–68) · Con 38 (24–52)Liberal 53.9%LibLikely84%LikelyLiberal54.4 (39–68)Conservative38.0 (24–52)
Mississauga East—Cooksville2025: Lib 50.2%Lib 49 (34–63) · Con 43 (28–57)Liberal 50.2%LibLeans64%LeansLiberal48.6 (34–63)Conservative42.6 (28–57)
Mississauga—Erin Mills2025: Lib 55.7%Lib 54 (39–68) · Con 38 (23–52)Liberal 55.7%LibLikely84%LikelyLiberal53.8 (39–68)Conservative37.7 (23–52)
Mississauga—Lakeshore2025: Lib 52.4%Lib 50 (35–65) · Con 41 (27–56)Liberal 52.4%LibLeans71%LeansLiberal50.4 (35–65)Conservative41.4 (27–56)
Mississauga—Malton2025: Lib 53.3%Lib 52 (37–66) · Con 40 (25–55)Liberal 53.3%LibLeans76%LeansLiberal51.7 (37–66)Conservative39.9 (25–55)
Mississauga—Streetsville2025: Lib 51.5%Lib 50 (35–64) · Con 42 (28–57)Liberal 51.5%LibLeans68%LeansLiberal49.5 (35–64)Conservative42.1 (28–57)
Moncton—Dieppe2025: Lib 63%Lib 59 (43–75) · Con 31 (16–47)Liberal 63%LibLikely94%LikelyLiberal59.4 (43–75)Conservative31.1 (16–47)
Mont-Saint-Bruno—L’Acadie2025: Lib 47.1%Lib 47 (31–62) · BQ 32 (18–47)Liberal 47.1%LibLikely82%LikelyLiberal46.8 (31–62)Bloc Québécois32.0 (18–47)Conservative13.5 (4–25)
Montcalm2025: BQ 46.6%BQ 44 (28–59) · Lib 25 (12–39)Bloc Québécois 46.6%BQLikely85%LikelyBloc Québécois44.1 (28–59)Liberal24.5 (12–39)Conservative23.4 (11–37)
Montmorency—Charlevoix2025: Con 34.5%Con 38 (22–54) · BQ 30 (15–46)Conservative 34.5%ConLeans61%LeansConservative37.8 (22–54)Bloc Québécois30.2 (15–46)Liberal25.0 (11–41)
Moose Jaw—Lake Centre—Lanigan2025: Con 71.9%Con 68 (52–82) · Lib 14 (3–27)Conservative 71.9%ConSolid>99%SolidConservative68.1 (52–82)Liberal13.8 (3–27)
Mount Royal2025: Lib 51.1%Lib 49 (35–62) · Con 41 (27–54)Liberal 51.1%LibLeans72%LeansLiberal48.5 (35–62)Conservative40.7 (27–54)
Mégantic—L’Érable—Lotbinière2025: Con 58.8%Con 59 (42–74) · Lib 19 (6–34)Conservative 58.8%ConSolid98%SolidConservative59.0 (42–74)Liberal19.1 (6–34)Bloc Québécois14.4 (3–28)
Nanaimo—Ladysmith2025: Con 35.5%Con 32 (18–48) · Grn 27 (7–43)Conservative 35.5%ConToss-up54%Toss-upConservative32.4 (18–48)Green26.5 (7–43)Liberal22.5 (10–37)NDP16.7 (5–30)
Nepean2025: Lib 63.8%Lib 63 (48–77) · Con 29 (16–44)Liberal 63.8%LibSolid97%SolidLiberal63.1 (48–77)Conservative29.4 (16–44)
New Tecumseth—Gwillimbury2025: Con 59.4%Con 56 (41–70) · Lib 35 (21–49)Conservative 59.4%ConLikely90%LikelyConservative56.2 (41–70)Liberal35.0 (21–49)
New Westminster—Burnaby—Maillardville2025: Lib 35.1%Lib 36 (22–51) · NDP 32 (17–46)Liberal 35.1%LibToss-up52%Toss-upLiberal35.8 (22–51)NDP31.8 (17–46)Conservative27.5 (15–41)
Newmarket—Aurora2025: Con 50.6%Con 50 (35–64) · Lib 43 (29–58)Conservative 50.6%ConLeans67%LeansConservative50.1 (35–64)Liberal43.2 (29–58)
Niagara Falls—Niagara-on-the-Lake2025: Con 49.1%Con 46 (32–61) · Lib 43 (28–57)Conservative 49.1%ConToss-up59%Toss-upConservative46.2 (32–61)Liberal42.7 (28–57)
Niagara South2025: Con 47.8%Con 47 (32–61) · Lib 40 (26–54)Conservative 47.8%ConLeans68%LeansConservative47.2 (32–61)Liberal39.9 (26–54)
Niagara West2025: Con 51.7%Con 49 (34–64) · Lib 42 (27–56)Conservative 51.7%ConLeans68%LeansConservative49.0 (34–64)Liberal41.6 (27–56)
Nipissing—Timiskaming2025: Lib 47.2%Lib 47 (33–62) · Con 40 (26–54)Liberal 47.2%LibLeans69%LeansLiberal47.2 (33–62)Conservative39.6 (26–54)
North Island—Powell River2025: Con 38.7%Con 38 (24–53) · NDP 33 (18–46)Conservative 38.7%ConLeans61%LeansConservative38.1 (24–53)NDP32.5 (18–46)Liberal23.3 (12–37)
North Vancouver—Capilano2025: Lib 59.8%Lib 60 (43–74) · Con 30 (16–45)Liberal 59.8%LibLikely95%LikelyLiberal59.6 (43–74)Conservative29.7 (16–45)
Northumberland—Clarke2025: Con 49%Con 47 (32–61) · Lib 44 (29–58)Conservative 49%ConToss-up57%Toss-upConservative46.6 (32–61)Liberal43.9 (29–58)
Northwest Territories2025: Lib 53.5%Lib 52 (33–70) · Con 31 (13–48)Liberal 53.5%LibLikely87%LikelyLiberal52.1 (33–70)Conservative30.5 (13–48)NDP13.9 (1–28)
Notre-Dame-de-Grâce—Westmount2025: Lib 64%Lib 62 (49–74) · Con 20 (10–31)Liberal 64%LibSolid99%SolidLiberal61.6 (49–74)Conservative20.1 (10–31)
Nunavut2025: NDP 37.3%Lib 38 (19–62) · NDP 36 (8–56)NDP 37.3%Libgain from NDPToss-up48%Toss-upLiberal37.9 (19–62)NDP36.1 (8–56)Conservative24.2 (8–42)
Oakville East2025: Lib 51.1%Lib 49 (34–64) · Con 42 (28–57)Liberal 51.1%LibLeans66%LeansLiberal49.0 (34–64)Conservative42.1 (28–57)
Oakville West2025: Lib 53.1%Lib 53 (39–67) · Con 40 (26–54)Liberal 53.1%LibLeans79%LeansLiberal53.0 (39–67)Conservative40.2 (26–54)
Okanagan Lake West—South Kelowna2025: Con 50.9%Con 48 (32–63) · Lib 43 (27–58)Conservative 50.9%ConLeans62%LeansConservative48.1 (32–63)Liberal42.8 (27–58)
Orléans2025: Lib 67.4%Lib 65 (50–78) · Con 26 (13–39)Liberal 67.4%LibSolid98%SolidLiberal65.1 (50–78)Conservative25.8 (13–39)
Oshawa2025: Con 48.2%Con 47 (32–61) · Lib 38 (24–53)Conservative 48.2%ConLeans71%LeansConservative47.0 (32–61)Liberal38.4 (24–53)
Ottawa Centre2025: Lib 62.7%Lib 58 (42–73) · NDP 24 (9–37)Liberal 62.7%LibSolid97%SolidLiberal57.8 (42–73)NDP23.6 (9–37)Conservative13.0 (3–25)
Ottawa South2025: Lib 65.2%Lib 62 (47–76) · Con 25 (12–38)Liberal 65.2%LibSolid98%SolidLiberal62.0 (47–76)Conservative24.6 (12–38)
Ottawa West—Nepean2025: Lib 63.6%Lib 60 (46–74) · Con 25 (12–38)Liberal 63.6%LibSolid98%SolidLiberal60.4 (46–74)Conservative24.5 (12–38)
Ottawa—Vanier—Gloucester2025: Lib 67.4%Lib 64 (48–77) · Con 19 (8–32)Liberal 67.4%LibSolid99%SolidLiberal63.7 (48–77)Conservative19.0 (8–32)
Outremont2025: Lib 55.2%Lib 52 (38–66) · NDP 14 (2–24)Liberal 55.2%LibSolid99%SolidLiberal52.2 (38–66)NDP13.6 (2–24)Conservative12.5 (4–22)Bloc Québécois10.9 (3–21)Green10.1 (1–18)
Oxford2025: Con 53.4%Con 50 (35–65) · Lib 36 (22–51)Conservative 53.4%ConLikely81%LikelyConservative50.3 (35–65)Liberal36.2 (22–51)
Papineau2025: Lib 53%Lib 53 (38–67) · NDP 20 (6–33)Liberal 53%LibSolid98%SolidLiberal52.5 (38–67)NDP19.7 (6–33)Bloc Québécois14.8 (6–25)Conservative10.3 (3–19)
Parkland2025: Con 75.2%Con 73 (58–86) · Lib 15 (4–28)Conservative 75.2%ConSolid>99%SolidConservative72.8 (58–86)Liberal15.4 (4–28)
Parry Sound—Muskoka2025: Con 52.2%Con 50 (35–64) · Lib 41 (26–55)Conservative 52.2%ConLeans70%LeansConservative49.6 (35–64)Liberal41.1 (26–55)
Peace River—Westlock2025: Con 77.1%Con 78 (64–90) · Lib 10 (1–22)Conservative 77.1%ConSolid>99%SolidConservative78.3 (64–90)Liberal10.0 (1–22)
Perth—Wellington2025: Con 53%Con 50 (35–64) · Lib 39 (25–54)Conservative 53%ConLeans76%LeansConservative50.3 (35–64)Liberal39.1 (25–54)
Peterborough2025: Lib 54.3%Lib 54 (39–68) · Con 37 (23–51)Liberal 54.3%LibLikely86%LikelyLiberal54.1 (39–68)Conservative36.8 (23–51)
Pickering—Brooklin2025: Lib 54.2%Lib 54 (40–68) · Con 37 (23–51)Liberal 54.2%LibLikely86%LikelyLiberal53.9 (40–68)Conservative37.1 (23–51)
Pierre-Boucher—Les Patriotes—Verchères2025: BQ 46.1%BQ 44 (28–59) · Lib 36 (21–52)Bloc Québécois 46.1%BQLeans69%LeansBloc Québécois44.1 (28–59)Liberal36.2 (21–52)Conservative12.1 (2–24)
Pierrefonds—Dollard2025: Lib 60.1%Lib 58 (45–70) · Con 31 (19–43)Liberal 60.1%LibSolid97%SolidLiberal58.0 (45–70)Conservative31.2 (19–43)
Pitt Meadows—Maple Ridge2025: Con 47.4%Con 45 (30–60) · Lib 45 (30–59)Conservative 47.4%ConToss-up51%Toss-upConservative44.9 (30–60)Liberal44.5 (30–59)
Ponoka—Didsbury2025: Con 81.8%Con 78 (64–90) · NDP 13 (2–24)Conservative 81.8%ConSolid>99%SolidConservative78.1 (64–90)NDP12.8 (2–24)
Pontiac—Kitigan Zibi2025: Lib 54.6%Lib 52 (36–67) · Con 28 (14–42)Liberal 54.6%LibLikely93%LikelyLiberal51.5 (36–67)Conservative27.8 (14–42)
Port Moody—Coquitlam2025: Lib 43.5%Lib 44 (30–59) · Con 36 (22–50)Liberal 43.5%LibLeans71%LeansLiberal44.2 (30–59)Conservative35.8 (22–50)NDP15.3 (5–27)
Portage—Lisgar2025: Con 69.4%Con 66 (50–80) · Lib 20 (8–34)Conservative 69.4%ConSolid99%SolidConservative65.9 (50–80)Liberal19.7 (8–34)
Portneuf—Jacques-Cartier2025: Con 49.6%Con 50 (33–66) · Lib 26 (12–42)Conservative 49.6%ConLikely90%LikelyConservative49.9 (33–66)Liberal26.3 (12–42)Bloc Québécois16.0 (4–30)
Prescott—Russell—Cumberland2025: Lib 54.8%Lib 55 (40–69) · Con 36 (22–50)Liberal 54.8%LibLikely87%LikelyLiberal54.6 (40–69)Conservative36.3 (22–50)
Prince Albert2025: Con 71.5%Con 67 (51–81) · Lib 16 (4–29)Conservative 71.5%ConSolid99%SolidConservative66.8 (51–81)Liberal16.0 (4–29)NDP11.8 (2–23)
Prince George—Peace River—Northern Rockies2025: Con 71.1%Con 68 (52–81) · Lib 18 (6–33)Conservative 71.1%ConSolid99%SolidConservative67.8 (52–81)Liberal18.3 (6–33)
Provencher2025: Con 66.3%Con 63 (47–78) · Lib 23 (10–37)Conservative 66.3%ConSolid99%SolidConservative63.1 (47–78)Liberal22.6 (10–37)
Québec Centre2025: Lib 49.5%Lib 47 (31–63) · BQ 34 (18–49)Liberal 49.5%LibLeans77%LeansLiberal46.8 (31–63)Bloc Québécois34.2 (18–49)NDP10.6 (1–21)
Red Deer2025: Con 71.6%Con 71 (56–84) · Lib 18 (7–32)Conservative 71.6%ConSolid>99%SolidConservative70.5 (56–84)Liberal18.4 (7–32)
Regina—Lewvan2025: Con 50%Con 47 (31–64) · Lib 39 (23–55)Conservative 50%ConLeans68%LeansConservative47.0 (31–64)Liberal38.7 (23–55)
Regina—Qu'Appelle2025: Con 64%Con 60 (43–75) · Lib 24 (10–38)Conservative 64%ConSolid98%SolidConservative60.1 (43–75)Liberal23.5 (10–38)NDP10.4 (1–21)
Regina—Wascana2025: Con 50.1%Con 47 (31–63) · Lib 40 (23–56)Conservative 50.1%ConLeans66%LeansConservative47.1 (31–63)Liberal39.8 (23–56)
Repentigny2025: BQ 42.2%BQ 43 (28–58) · Lib 35 (20–50)Bloc Québécois 42.2%BQLeans71%LeansBloc Québécois43.0 (28–58)Liberal34.9 (20–50)Conservative14.9 (4–27)
Richmond Centre—Marpole2025: Con 49.6%Con 49 (34–63) · Lib 41 (27–56)Conservative 49.6%ConLeans69%LeansConservative49.1 (34–63)Liberal41.4 (27–56)
Richmond East—Steveston2025: Lib 48.4%Lib 47 (32–61) · Con 44 (29–58)Liberal 48.4%LibToss-up58%Toss-upLiberal46.8 (32–61)Conservative43.7 (29–58)
Richmond Hill South2025: Con 52.3%Con 52 (37–66) · Lib 41 (26–55)Conservative 52.3%ConLeans76%LeansConservative51.6 (37–66)Liberal40.7 (26–55)
Richmond—Arthabaska2025: Con 35.5%Con 39 (23–55) · Lib 29 (14–45)Conservative 35.5%ConLeans67%LeansConservative39.1 (23–55)Liberal29.3 (14–45)Bloc Québécois24.3 (11–40)
Riding Mountain2025: Con 67.8%Con 64 (48–78) · Lib 19 (7–33)Conservative 67.8%ConSolid99%SolidConservative64.0 (48–78)Liberal18.9 (7–33)
Rimouski—La Matapédia2025: BQ 46.2%BQ 45 (28–62) · Lib 34 (17–51)Bloc Québécois 46.2%BQLeans74%LeansBloc Québécois45.0 (28–62)Liberal33.8 (17–51)Conservative14.1 (2–27)
Rivière-des-Mille-Îles2025: Lib 45.6%Lib 46 (31–60) · BQ 30 (16–44)Liberal 45.6%LibLikely85%LikelyLiberal45.7 (31–60)Bloc Québécois30.0 (16–44)Conservative17.0 (6–29)
Rivière-du-Nord2025: BQ 43.8%BQ 42 (26–57) · Lib 29 (15–44)Bloc Québécois 43.8%BQLeans77%LeansBloc Québécois41.5 (26–57)Liberal29.0 (15–44)Conservative21.3 (9–35)
Rosemont—La Petite-Patrie2025: NDP 41%NDP 47 (22–63) · Lib 27 (14–44)NDP 41%NDPLikely85%LikelyNDP47.1 (22–63)Liberal26.8 (14–44)Bloc Québécois15.5 (5–29)
Saanich—Gulf Islands2025: Grn 39.1%Grn 52 (24–69) · Lib 24 (11–44)Green 39.1%GrnLikely88%LikelyGreen52.2 (24–69)Liberal24.3 (11–44)Conservative18.3 (7–35)
Sackville—Bedford—Preston2025: Lib 62%Lib 60 (45–75) · Con 31 (16–46)Liberal 62%LibLikely95%LikelyLiberal60.4 (45–75)Conservative31.2 (16–46)
Saint John—Kennebecasis2025: Lib 58.1%Lib 55 (38–70) · Con 37 (21–53)Liberal 58.1%LibLikely84%LikelyLiberal54.6 (38–70)Conservative37.2 (21–53)
Saint John—St. Croix2025: Con 53.1%Con 53 (36–68) · Lib 38 (23–54)Conservative 53.1%ConLeans79%LeansConservative52.9 (36–68)Liberal38.3 (23–54)
Saint-Hyacinthe—Bagot—Acton2025: BQ 43.9%BQ 42 (26–58) · Lib 31 (16–47)Bloc Québécois 43.9%BQLeans73%LeansBloc Québécois41.7 (26–58)Liberal31.0 (16–47)Conservative18.3 (6–32)
Saint-Jean2025: BQ 44.3%BQ 42 (26–58) · Lib 32 (18–47)Bloc Québécois 44.3%BQLeans75%LeansBloc Québécois42.4 (26–58)Liberal31.8 (18–47)Conservative16.6 (5–29)
Saint-Laurent2025: Lib 58.9%Lib 57 (43–69) · Con 29 (17–41)Liberal 58.9%LibSolid97%SolidLiberal56.6 (43–69)Conservative28.7 (17–41)
Saint-Léonard—Saint-Michel2025: Lib 65.3%Lib 62 (49–75) · Con 21 (11–32)Liberal 65.3%LibSolid99%SolidLiberal62.4 (49–75)Conservative20.8 (11–32)
Saint-Maurice—Champlain2025: Lib 50%Lib 47 (30–64) · Con 25 (12–40)Liberal 50%LibLikely89%LikelyLiberal47.2 (30–64)Conservative25.2 (12–40)Bloc Québécois19.4 (6–34)
Sarnia—Lambton—Bkejwanong2025: Con 53.1%Con 44 (21–60) · Lib 43 (27–65)Conservative 53.1%ConToss-up52%Toss-upConservative43.8 (21–60)Liberal42.7 (27–65)
Saskatoon South2025: Con 49.3%Con 46 (30–62) · Lib 36 (20–52)Conservative 49.3%ConLeans72%LeansConservative46.0 (30–62)Liberal36.0 (20–52)NDP11.7 (2–23)
Saskatoon West2025: Con 52.7%Con 48 (32–65) · Lib 23 (10–38)Conservative 52.7%ConLikely90%LikelyConservative47.9 (32–65)Liberal23.2 (10–38)NDP22.8 (9–37)
Saskatoon—University2025: Con 48.9%Con 46 (29–62) · Lib 37 (21–53)Conservative 48.9%ConLeans69%LeansConservative45.7 (29–62)Liberal37.1 (21–53)NDP11.1 (2–22)
Sault Ste. Marie—Algoma2025: Lib 47.4%Lib 45 (30–59) · Con 41 (27–56)Liberal 47.4%LibToss-up59%Toss-upLiberal44.8 (30–59)Conservative41.4 (27–56)
Scarborough Centre—Don Valley East2025: Lib 57.3%Lib 55 (41–70) · Con 36 (22–50)Liberal 57.3%LibLikely89%LikelyLiberal55.4 (41–70)Conservative35.7 (22–50)
Scarborough North2025: Lib 63%Lib 61 (45–74) · Con 31 (17–45)Liberal 63%LibSolid96%SolidLiberal60.6 (45–74)Conservative30.6 (17–45)
Scarborough Southwest2025: Lib 61.5%Lib 60 (44–75) · Con 27 (13–42)Liberal 61.5%LibSolid97%SolidLiberal60.3 (44–75)Conservative26.8 (13–42)
Scarborough—Agincourt2025: Lib 54.3%Lib 52 (37–66) · Con 41 (26–55)Liberal 54.3%LibLeans77%LeansLiberal52.2 (37–66)Conservative40.5 (26–55)
Scarborough—Guildwood—Rouge Park2025: Lib 64%Lib 61 (46–75) · Con 29 (16–43)Liberal 64%LibSolid97%SolidLiberal61.0 (46–75)Conservative29.0 (16–43)
Scarborough—Woburn2025: Lib 60.4%Lib 58 (43–72) · Con 32 (18–46)Liberal 60.4%LibLikely94%LikelyLiberal57.9 (43–72)Conservative31.5 (18–46)
Selkirk—Interlake—Eastman2025: Con 60.2%Con 57 (40–72) · Lib 27 (13–42)Conservative 60.2%ConSolid95%SolidConservative56.7 (40–72)Liberal27.0 (13–42)
Shefford2025: BQ 40.1%BQ 38 (22–54) · Lib 37 (21–53)Bloc Québécois 40.1%BQToss-up52%Toss-upBloc Québécois38.0 (22–54)Liberal36.5 (21–53)Conservative17.5 (5–32)
Sherbrooke2025: Lib 51.3%Lib 48 (32–64) · BQ 25 (11–40)Liberal 51.3%LibLikely91%LikelyLiberal48.2 (32–64)Bloc Québécois24.7 (11–40)Conservative13.3 (2–26)
Sherwood Park—Fort Saskatchewan2025: Con 66.3%Con 64 (49–78) · Lib 24 (11–38)Conservative 66.3%ConSolid99%SolidConservative63.8 (49–78)Liberal24.3 (11–38)
Simcoe North2025: Con 48.4%Con 45 (30–60) · Lib 42 (28–57)Conservative 48.4%ConToss-up57%Toss-upConservative45.1 (30–60)Liberal42.2 (28–57)
Simcoe—Grey2025: Con 52.1%Con 49 (34–63) · Lib 41 (27–56)Conservative 52.1%ConLeans69%LeansConservative48.9 (34–63)Liberal41.2 (27–56)
Similkameen—South Okanagan—West Kootenay2025: Con 44.1%Con 43 (28–58) · Lib 34 (20–49)Conservative 44.1%ConLeans72%LeansConservative43.4 (28–58)Liberal34.0 (20–49)NDP16.3 (6–29)
Skeena—Bulkley Valley2025: Con 47.2%Con 46 (31–61) · NDP 39 (23–54)Conservative 47.2%ConLeans66%LeansConservative45.7 (31–61)NDP39.2 (23–54)
Souris—Moose Mountain2025: Con 84%Con 81 (67–92) · Lib 7 (0–18)Conservative 84%ConSolid>99%SolidConservative80.6 (67–92)Liberal6.8 (0–18)
South Shore—St. Margarets2025: Lib 54.9%Lib 54 (38–70) · Con 40 (24–55)Liberal 54.9%LibLeans80%LeansLiberal54.0 (38–70)Conservative39.8 (24–55)
South Surrey—White Rock2025: Lib 50.5%Lib 51 (36–65) · Con 41 (27–55)Liberal 50.5%LibLeans74%LeansLiberal50.9 (36–65)Conservative41.1 (27–55)
Spadina—Harbourfront2025: Lib 60.1%Lib 59 (44–73) · Con 27 (14–41)Liberal 60.1%LibSolid97%SolidLiberal58.8 (44–73)Conservative26.9 (14–41)
St. Albert—Sturgeon River2025: Con 63.9%Con 62 (46–76) · Lib 27 (13–41)Conservative 63.9%ConSolid98%SolidConservative61.7 (46–76)Liberal26.9 (13–41)
St. Boniface—St. Vital2025: Lib 59.8%Lib 57 (40–72) · Con 29 (14–44)Liberal 59.8%LibLikely94%LikelyLiberal56.9 (40–72)Conservative28.6 (14–44)
St. Catharines2025: Lib 52%Lib 50 (35–65) · Con 38 (24–53)Liberal 52%LibLeans78%LeansLiberal50.0 (35–65)Conservative38.0 (24–53)
St. John's East2025: Lib 62.3%Lib 59 (42–75) · Con 26 (12–41)Liberal 62.3%LibSolid96%SolidLiberal59.1 (42–75)Conservative25.7 (12–41)NDP11.7 (0–24)
Stormont—Dundas—Glengarry2025: Con 56.3%Con 53 (38–68) · Lib 38 (23–52)Conservative 56.3%ConLikely83%LikelyConservative53.1 (38–68)Liberal37.7 (23–52)
Sudbury2025: Lib 51.9%Lib 49 (35–63) · Con 36 (23–51)Liberal 51.9%LibLeans80%LeansLiberal49.4 (35–63)Conservative36.4 (23–51)NDP10.0 (1–20)
Sudbury East—Manitoulin—Nickel Belt2025: Con 48.3%Con 47 (33–61) · Lib 38 (24–52)Conservative 48.3%ConLeans74%LeansConservative47.3 (33–61)Liberal37.6 (24–52)
Surrey Centre2025: Lib 48%Lib 47 (31–61) · Con 41 (27–55)Liberal 48%LibLeans64%LeansLiberal46.6 (31–61)Conservative40.7 (27–55)
Surrey Newton2025: Lib 49.5%Lib 48 (33–62) · Con 42 (27–56)Liberal 49.5%LibLeans66%LeansLiberal48.0 (33–62)Conservative41.7 (27–56)
Swift Current—Grasslands—Kindersley2025: Con 82%Con 78 (63–90) · Lib 9 (0–20)Conservative 82%ConSolid>99%SolidConservative78.2 (63–90)Liberal8.6 (0–20)
Sydney—Glace Bay2025: Lib 54.6%Lib 52 (36–68) · Con 39 (23–55)Liberal 54.6%LibLeans77%LeansLiberal52.3 (36–68)Conservative38.9 (23–55)
Taiaiako'n—Parkdale—High Park2025: Lib 55.8%Lib 53 (38–69) · NDP 26 (11–40)Liberal 55.8%LibLikely95%LikelyLiberal52.9 (38–69)NDP26.2 (11–40)Conservative15.6 (5–28)
Terra Nova—The Peninsulas2025: Con 48%Con 50 (34–66) · Lib 43 (27–59)Conservative 48%ConLeans66%LeansConservative50.1 (34–66)Liberal42.9 (27–59)
Terrebonne2025: Lib 38.7%Lib 39 (23–55) · BQ 35 (20–51)Liberal 38.7%LibToss-up58%Toss-upLiberal39.0 (23–55)Bloc Québécois35.2 (20–51)Conservative17.7 (6–31)
Thornhill2025: Con 66.4%Con 64 (49–77) · Lib 30 (17–44)Conservative 66.4%ConSolid97%SolidConservative63.5 (49–77)Liberal29.6 (17–44)
Thunder Bay—Rainy River2025: Lib 48.5%Lib 46 (31–61) · Con 40 (25–55)Liberal 48.5%LibLeans66%LeansLiberal46.0 (31–61)Conservative39.8 (25–55)
Thunder Bay—Superior North2025: Lib 55.2%Lib 52 (37–67) · Con 33 (19–47)Liberal 55.2%LibLikely89%LikelyLiberal52.4 (37–67)Conservative32.8 (19–47)
Thérèse-De Blainville2025: Lib 45.8%Lib 46 (31–60) · BQ 29 (16–43)Liberal 45.8%LibLikely85%LikelyLiberal45.5 (31–60)Bloc Québécois29.4 (16–43)Conservative18.3 (7–31)
Tobique—Mactaquac2025: Con 58.8%Con 59 (42–74) · Lib 33 (18–49)Conservative 58.8%ConLikely92%LikelyConservative58.5 (42–74)Liberal33.0 (18–49)
Toronto Centre2025: Lib 64.3%Lib 62 (47–76) · Con 18 (6–30)Liberal 64.3%LibSolid99%SolidLiberal61.9 (47–76)Conservative17.6 (6–30)NDP14.9 (4–26)
Toronto—Danforth2025: Lib 66.6%Lib 62 (47–76) · Con 17 (6–29)Liberal 66.6%LibSolid99%SolidLiberal62.2 (47–76)Conservative16.6 (6–29)NDP15.9 (5–28)
Toronto—St. Paul's2025: Lib 61.9%Lib 61 (46–75) · Con 29 (16–43)Liberal 61.9%LibSolid97%SolidLiberal61.0 (46–75)Conservative29.3 (16–43)
Trois-Rivières2025: Lib 41%Lib 41 (25–57) · Con 27 (12–41)Liberal 41%LibLeans75%LeansLiberal40.8 (25–57)Conservative26.6 (12–41)Bloc Québécois24.6 (11–40)
University—Rosedale2025: Lib 64%Lib 62 (45–76) · Con 20 (7–34)Liberal 64%LibSolid99%SolidLiberal61.5 (45–76)Conservative19.9 (7–34)NDP11.9 (2–23)
Vancouver Centre2025: Lib 55.2%Lib 53 (38–67) · Con 28 (15–42)Liberal 55.2%LibLikely94%LikelyLiberal53.1 (38–67)Conservative27.8 (15–42)NDP13.4 (4–25)
Vancouver East2025: NDP 43.6%NDP 45 (28–60) · Lib 33 (19–48)NDP 43.6%NDPLeans77%LeansNDP45.1 (28–60)Liberal32.7 (19–48)Conservative15.1 (5–27)
Vancouver Fraserview—South Burnaby2025: Lib 52.3%Lib 53 (38–67) · Con 32 (19–45)Liberal 52.3%LibLikely91%LikelyLiberal52.5 (38–67)Conservative31.7 (19–45)NDP10.0 (2–20)
Vancouver Granville2025: Lib 62.1%Lib 60 (44–74) · Con 26 (14–40)Liberal 62.1%LibSolid97%SolidLiberal59.9 (44–74)Conservative26.2 (14–40)
Vancouver Kingsway2025: NDP 37.2%NDP 39 (22–54) · Lib 34 (20–49)NDP 37.2%NDPToss-up59%Toss-upNDP38.7 (22–54)Liberal34.3 (20–49)Conservative21.8 (10–35)
Vancouver Quadra2025: Lib 63.2%Lib 63 (48–76) · Con 27 (14–40)Liberal 63.2%LibSolid98%SolidLiberal62.7 (48–76)Conservative26.8 (14–40)
Vaudreuil2025: Lib 57.9%Lib 56 (41–69) · Con 23 (12–35)Liberal 57.9%LibSolid98%SolidLiberal55.5 (41–69)Conservative23.4 (12–35)Bloc Québécois13.9 (5–24)
Vaughan—Woodbridge2025: Con 60%Con 59 (44–73) · Lib 35 (21–49)Conservative 60%ConLikely93%LikelyConservative59.3 (44–73)Liberal34.9 (21–49)
Vernon—Lake Country—Monashee2025: Con 50.4%Con 50 (34–64) · Lib 39 (24–55)Conservative 50.4%ConLeans74%LeansConservative49.7 (34–64)Liberal39.2 (24–55)
Victoria2025: Lib 54.3%Lib 53 (37–69) · NDP 25 (11–39)Liberal 54.3%LibSolid95%SolidLiberal53.0 (37–69)NDP24.7 (11–39)Conservative13.9 (3–27)
Ville-Marie—Le Sud-Ouest—Île-des-Soeurs2025: Lib 63.7%Lib 61 (47–73) · Con 19 (9–30)Liberal 63.7%LibSolid99%SolidLiberal60.8 (47–73)Conservative19.2 (9–30)
Vimy2025: Lib 53.4%Lib 51 (36–64) · Con 25 (13–37)Liberal 53.4%LibSolid96%SolidLiberal50.5 (36–64)Conservative25.0 (13–37)Bloc Québécois16.0 (6–27)
Waterloo2025: Lib 59.5%Lib 56 (42–70) · Con 30 (17–44)Liberal 59.5%LibLikely95%LikelyLiberal56.4 (42–70)Conservative29.8 (17–44)
Wellington—Halton Hills North2025: Con 50.6%Con 48 (33–62) · Lib 42 (27–56)Conservative 50.6%ConLeans63%LeansConservative47.6 (33–62)Liberal41.9 (27–56)
West Vancouver—Sunshine Coast—Sea to Sky Country2025: Lib 59.7%Lib 57 (42–71) · Con 30 (17–44)Liberal 59.7%LibLikely95%LikelyLiberal57.3 (42–71)Conservative30.2 (17–44)
Whitby2025: Lib 52.7%Lib 51 (35–65) · Con 41 (27–56)Liberal 52.7%LibLeans72%LeansLiberal50.5 (35–65)Conservative41.1 (27–56)
Willowdale2025: Lib 53.4%Lib 52 (37–66) · Con 41 (27–56)Liberal 53.4%LibLeans73%LeansLiberal51.5 (37–66)Conservative41.4 (27–56)
Windsor West2025: Con 39%Con 37 (23–53) · NDP 31 (15–46)Conservative 39%ConToss-up58%Toss-upConservative37.2 (23–53)NDP31.4 (15–46)Liberal26.4 (14–41)
Windsor—Tecumseh—Lakeshore2025: Con 45.8%Con 45 (31–60) · Lib 42 (28–56)Conservative 45.8%ConToss-up59%Toss-upConservative45.1 (31–60)Liberal41.7 (28–56)
Winnipeg Centre2025: NDP 39.4%NDP 44 (26–60) · Lib 30 (15–46)NDP 39.4%NDPLeans79%LeansNDP44.4 (26–60)Liberal29.8 (15–46)Conservative18.6 (7–33)
Winnipeg North2025: Lib 57.9%Lib 53 (36–69) · Con 32 (17–48)Liberal 57.9%LibLikely89%LikelyLiberal53.4 (36–69)Conservative31.8 (17–48)
Winnipeg South2025: Lib 59%Lib 55 (38–70) · Con 33 (18–49)Liberal 59%LibLikely89%LikelyLiberal54.5 (38–70)Conservative32.7 (18–49)
Winnipeg South Centre2025: Lib 63.6%Lib 59 (42–74) · Con 25 (12–41)Liberal 63.6%LibSolid96%SolidLiberal58.8 (42–74)Conservative25.4 (12–41)
Winnipeg West2025: Lib 54.5%Lib 52 (36–67) · Con 37 (22–53)Liberal 54.5%LibLikely81%LikelyLiberal52.1 (36–67)Conservative36.5 (22–53)
Yellowhead2025: Con 69.1%Con 68 (53–82) · Lib 21 (9–35)Conservative 69.1%ConSolid99%SolidConservative68.1 (53–82)Liberal21.4 (9–35)
York Centre2025: Con 54.8%Con 54 (39–68) · Lib 39 (25–54)Conservative 54.8%ConLikely82%LikelyConservative54.1 (39–68)Liberal39.1 (25–54)
York South—Weston—Etobicoke2025: Lib 55.3%Lib 53 (38–68) · Con 37 (23–52)Liberal 55.3%LibLikely84%LikelyLiberal53.0 (38–68)Conservative37.0 (23–52)
Yorkton—Melville2025: Con 77.5%Con 73 (58–87) · Lib 12 (1–24)Conservative 77.5%ConSolid>99%SolidConservative73.2 (58–87)Liberal11.5 (1–24)
York—Durham2025: Con 55.6%Con 55 (40–69) · Lib 36 (22–50)Conservative 55.6%ConLikely88%LikelyConservative54.6 (40–69)Liberal35.9 (22–50)
Yukon2025: Lib 53.1%Lib 50 (30–68) · Con 37 (18–55)Liberal 53.1%LibLeans74%LeansLiberal49.5 (30–68)Conservative36.9 (18–55)

Polls

The polling average used

Polling average by party on 22 May 2025, with the spread of recent polls
PartyAverageSpreadChange
Liberal41.940.7–43.2+0.1
Conservative39.639.1–40.2−0.2
NDP7.97.5–8.3+0.1
Bloc Québécois6.05.3–6.8−0.1
Green2.92.1–3.7+0.1
People’s Party1.11.0–1.3+0.2
Others1.0 0

Per cent. The average is the site’s polling average on 22 May 2025, the end date of the newest poll. Spread: one weighted standard deviation of recent polls either side of the average, a measure of how much polls disagree, not a margin of error. Others: the remainder to 100. Change: since the projection of 21 May 2025, in points.

Polls included (6)

The 6 most recent polls in the average, newest first
Fieldwork endPollsterLibConNDPBQGrnPPC
22 MayInnovative ResearchNew2,517–4239863–
21 MayAbacus Data2,273±2.141408731
16 MayNanos Research1,127±2.941.439.68.54.73.91.3
9 MayLiaison Strategies––45407611
9 MayNanos Research1,259±2.841.540.57.85.13.31.3
2 MayNanos Research1,297±2.741.839.27.95.83.21.3

National polls published since the 2025 election, up to this projection, from the site’s federal polling table. Older polls carry little weight in the average. A dash: the poll did not report that party. MoE: the margin of error as the pollster published it, in points, 19 times out of 20; a dash where none was published. Online panels are not random samples, so for them it is the margin of error of a random sample of the same size, given for comparison.

Projections since the 2025 election

A new projection is made each time a new poll is published. Each date's page keeps that projection as it was.

Seats, median and 90% range

0100250172Jul 2025Oct2026AprJulLiberal 226Con 82BQ 20NDP 13Grn 2

Chance of a majority; dashed: no majority

0255075100%Jul 2025Oct2026AprJulLiberal 92%Minority 6%Con 2%

One point per projection, dated by its newest poll; each holds until the next. The dashed line marks 172 seats, a majority. Select a point for that projection’s page. The first 199 projections, to 2 October 2026, were computed retroactively on 10 October 2026, with the model and candidate list of that date, from the polls published up to each date.

All projections

The most recent projections, newest first: seats by party (median) and the chance of a majority
ProjectionLibConNDPBQGrnLib maj.Con maj.
3 Oct 2026Liaison Strategies226821320292%2%6%
2 Oct 2026Nanos Research225831320292%2%7%
26 Sep 2026Liaison Strategies223851320291%2%7%
25 Sep 2026Nanos Research222861220291%2%7%
23 Sep 2026Abacus Data220881221290%2%8%
19 Sep 2026Liaison Strategies221871320290%2%8%
18 Sep 2026Nanos Research221881220290%2%8%
12 Sep 2026Liaison Strategies219881321290%2%8%
192 earlier projections

How the projection works

The projection starts from the 2025 result in each of the 343 ridings. The national polling average sets each party’s change since that election. A rule fitted on the federal elections since 2006 turns it into a change for each of seven regions, and polls of a single province or region, from the pollsters’ own releases, correct that rule where they exist. Each riding moves with its region, half as a uniform change in points and half in proportion to each party’s 2025 share, and the ridings are adjusted so that each region reproduces its estimate. The Bloc Québécois runs only in Quebec. A first-term member running again gains a few points and an open seat loses a few; in Quebec, ridings with more French speakers move further in the direction of the province-wide change; members who crossed the floor take a small part of their 2025 vote to their new party.

Each of the 10,000 simulations adds a national polling error, regional errors and riding errors, sized from the six federal elections from 2008 to 2025. Tested on each of those elections with only the polls published before it, and with every size fitted on the other five, the projected leader won 82.9% of 1,973 ridings, and 90% ranges contained 93.6% of riding vote shares. Local campaigns, candidates other than incumbents and changes of opinion after the polls are not modelled.

Full methodology · The 2025 election results