Skip to main content

Federal seat projection, 18 July 2025

As of 18 July 2025, from 30 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 18 July 2025.

Seats

In 10,000 simulations, the Liberals win a median of 202 seats (90% range 133–264) and a majority in 79%; the Conservatives 112 seats (90% range 56–176) and a majority in 6%; the Bloc Québécois 17 seats (90% range 3–30); the NDP 11 seats (90% range 3–18); the Greens 2 seats (90% range 0–3). No party wins a majority in 15%.

  • Liberal majority

    79%

    Most seats in 88% of simulations

  • Conservative majority

    6%

    Most seats in 11% of simulations

  • No majority

    15%

    55 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

202 seats (133–264) · majority 79%

Conservative

112 seats (56–176) · majority 6%

NDP

11 seats (3–18)

Bloc Québécois

17 seats (3–30)

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 202, 90%: 133–264

Majority in 79%

Most frequent: 205 (1.4%)

Conservative

Median 112, 90%: 56–176

Majority in 6%

Most frequent: 118 (1.4%)

NDP

Median 11, 90%: 3–18

Most frequent: 10 (8.3%)

Bloc Québécois

Median 17, 90%: 3–30

Most frequent: 18 (5.6%)

Green

Median 2, 90%: 0–3

Most frequent: 2 (51.0%)

Seat distribution by party in 10,000 simulations
PartyMedian seats90% rangeMost frequentChance of a majority
Liberal202133 to 264205 seats, 1.4% of simulations79%
Conservative11256 to 176118 seats, 1.4% of simulations6%
NDP113 to 1810 seats, 8.3% of simulations0%
Bloc Québécois173 to 3018 seats, 5.6% of simulations0%
Green20 to 32 seats, 51.0% 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

  • Nanos Research, fieldwork to 18 Jul 2025, 1,026 respondentsLiberal 44.3 · Conservative 34 · NDP 10.3 · Bloc Québécois 6.6 · Green 2.3 · People’s Party 2

Change since 15 Jul 2025

  • Median seats: Liberal +1, Conservative −1, NDP 0, Bloc Québécois 0, Green 0.
  • Chance of a majority, in points: Liberal 0, Conservative 0; no majority 0.
  • Projected leader changed in 2 ridings: London—Fanshawe (Conservative to NDP); Nunavut (Liberal to NDP).

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%+7329000
Likely 80–95%6525441
Leans 60–80%37362111
Toss-up <60%55

Canada

Ottawa–Gatineau

Vancouver

Greater Toronto

Montreal

Calgary

Edmonton

Winnipeg

Seats changing hands

Won in 2025Projected
Lib169
Con144
NDP7
BQ22
Grn1
Lib175
Con90
NDP6
BQ15
Grn2
Toss-up55
Ridings by party: won in 2025, projected, gained, lost and now toss-ups
Party2025ProjectedGainsLossesToss-ups
Lib1691758–2
Con14490–945
NDP76––1
BQ2215––7
Grn121––
Toss-up 55 
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: Richmond East—Steveston, 68% · chance of a majority 79%

Conservative172nd-best riding: South Surrey—White Rock, 19% · chance of a majority 6%

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
Lib41.8%, 2025: 41.8%23+3 seats, 90% range 10 to 34; 2025: 20
Con36.6%, 2025: 41.2%15−4 seats, 90% range 4 to 27; 2025: 19
NDP15.3%, 2025: 13.0%4+1 seats, 90% range 0 to 8; 2025: 3
Grn5.2%, 2025: 3.0%1 seats, 90% range 0 to 2; 2025: 1

Alberta37 seats

PartyVote, %Seats
Con53.1%, 2025: 63.6%27−7 seats, 90% range 18 to 34; 2025: 34
Lib32.1%, 2025: 27.9%8+6 seats, 90% range 2 to 18; 2025: 2
NDP8.5%, 2025: 6.3%2+1 seats, 90% range 0 to 2; 2025: 1
Grn1.9%, 2025: 0.4%0 seats, 90% range 0 to 0; 2025: 0
PPC1.8%, 2025: 0.9%0 seats, 90% range 0 to 0; 2025: 0

Manitoba and Saskatchewan28 seats

PartyVote, %Seats
Con46.8%, 2025: 54.9%16−4 seats, 90% range 12 to 20; 2025: 20
Lib36.1%, 2025: 34.1%11+4 seats, 90% range 6 to 15; 2025: 7
NDP11.2%, 2025: 9.4%1 seats, 90% range 0 to 3; 2025: 1
PPC2.6%, 2025: 0.7%0 seats, 90% range 0 to 0; 2025: 0
Grn2.0%, 2025: 0.6%0 seats, 90% range 0 to 0; 2025: 0

Ontario122 seats

PartyVote, %Seats
Lib49.1%, 2025: 49.2%81+11 seats, 90% range 47 to 110; 2025: 70
Con38.0%, 2025: 43.8%39−13 seats, 90% range 10 to 73; 2025: 52
NDP8.1%, 2025: 4.8%1+1 seats, 90% range 0 to 4; 2025: 0
Grn2.6%, 2025: 1.1%1+1 seats, 90% range 0 to 1; 2025: 0
PPC1.1%, 2025: 0.7%0 seats, 90% range 0 to 0; 2025: 0

Quebec78 seats

PartyVote, %Seats
Lib43.3%, 2025: 42.6%50+6 seats, 90% range 36 to 66; 2025: 44
BQ24.0%, 2025: 27.7%17−5 seats, 90% range 3 to 30; 2025: 22
Con21.1%, 2025: 23.3%9−2 seats, 90% range 3 to 16; 2025: 11
NDP7.3%, 2025: 4.5%1 seats, 90% range 0 to 3; 2025: 1
Grn2.3%, 2025: 0.9%0 seats, 90% range 0 to 0; 2025: 0
PPC1.2%, 2025: 0.8%0 seats, 90% range 0 to 0; 2025: 0

Atlantic32 seats

PartyVote, %Seats
Lib56.2%, 2025: 55.5%26+2 seats, 90% range 18 to 31; 2025: 24
Con33.7%, 2025: 38.0%6−2 seats, 90% range 1 to 14; 2025: 8
NDP6.8%, 2025: 4.3%0 seats, 90% range 0 to 0; 2025: 0
Grn2.3%, 2025: 1.1%0 seats, 90% range 0 to 0; 2025: 0

Territories3 seats

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

Polls

The polling average used

Polling average by party on 18 Jul 2025, with the spread of recent polls
PartyAverageSpreadChange
Liberal44.442.3–46.50
Conservative35.832.6–39.0−0.1
NDP9.06.6–11.5+0.1
Bloc Québécois5.85.0–6.70
Green2.82.2–3.30
People’s Party1.80.8–2.80
Others1.0 0

Per cent. The average is the site’s polling average on 18 Jul 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 15 Jul 2025, in points.

Polls included (30)

The 10 most recent polls in the average, newest first
Fieldwork endPollsterLibConNDPBQGrnPPC
18 JulNanos ResearchNew1,026±3.144.33410.36.62.32
15 JulAbacus Data1,915±2.243407631
14 JulEkos1,817±2.343.230.5135.53.53.6
11 JulNanos Research1,047±3.044.533.811.15.92.11.9
6 JulLéger1,546±2.54835763–
4 JulLiaison Strategies––46359621
4 JulNanos Research1,056±3.045.132.611.56.21.81.8
2 JulAbacus Data1,500±2.541409722
2 JulResearch Co.1,001±3.147376621
30 JunInnovative Research4,029–4338863–
20 earlier polls
Earlier polls in the average, newest first
Fieldwork endPollsterLibConNDPBQGrnPPC
27 JunNanos Research1,076±3.044.531.412.85.92.51.7
26 JunMainstreet Research1,168±2.947386331
20 JunLiaison Strategies––423811631
20 JunNanos Research1,090±3.045.230.812.26.12.91.5
19 JunAbacus Data1,500±1.942397631
13 JunNanos Research1,080±3.044.232.211.46.33.21.7
6 JunLiaison Strategies––42399621
6 JunNanos Research1,079±3.042.632.8126.53.91.3
5 JunAbacus Data2,585±1.942398631
4 JunEkos1,529±2.543.93212.75.233
30 MayNanos Research1,079±3.041.736.410.56.53.41.1
30 MaySpark Insights3,450–414087––
23 MayLiaison Strategies––44398611
23 MayNanos Research1,127±3.040.438.69.85.93.71.3
22 MayInnovative Research2,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