VoteDataCanada

2025 Canada Federal Election

April 28, 2025

General Election · April 28, 2025

Liberal won 169 of 343 seats. This is 3 seats short of the majority threshold (172).

Contests
343
Candidates
1,959
Eligible voters
28,731,275
Votes cast
19,811,520
Voter turnout
69.0%
Final resultsElections CanadaChecked: October 12, 2026

Party results

Seats won Majority threshold: 172
Liberal: 169 seatsConservative: 144 seatsBQ: 22 seatsNDP: 7 seatsGreen: 1 seats
  • Liberal 169
  • Conservative 144
  • BQ 22
  • NDP 7
  • Green 1
PartyVotesVote %SeatsSeats %
Liberal8,595,48843.8%16949.3%
Conservative8,113,48441.3%14442.0%
Bloc Québécois1,236,3496.3%226.4%
NDP-New Democratic Party1,234,6736.3%72.0%
Green Party238,8921.2%10.3%

Party2021 seats2025 seatsChange2021 Vote %2025 Vote %Vote share Δ
Liberal160169+932.6%43.8%+11.1 pp
Conservative119144+2533.7%41.3%+7.6 pp
Bloc Québécois3222−107.6%6.3%−1.3 pp
NDP-New Democratic Party257−1817.8%6.3%−11.5 pp
Green Party21−12.3%1.2%−1.1 pp

Seat changes by party

04590135180LiberalConservativeBQNDPGreen20212025

338 → 343 seats

2021 election results →

Historical trends

343020112015201920212025

Bloc Québécois Conservative Green Party Liberal NDP-New Democratic Party

Chart data
ElectionBloc QuébécoisConservativeGreen PartyLiberalNDP-New Democratic Party
May 2, 20114166134103
October 19, 20151099118444
October 21, 201932121315724
September 20, 202132119216025
April 28, 20252214411697

District map

Boundary sources appear with the loaded map. · Colours show party affiliation where available. Use the district selector for keyboard navigation.

Results by District

343 districts found

Swipe to compare parties · Tap a district for full results

DistrictLiberalConservativeBQNDPGreen
VotesVote %VotesVote %VotesVote %VotesVote %VotesVote %
19,54735.1%35.1%17,50731.4%31.4%———17,57431.5%31.5%6901.2%1.2%55,70367.1%
29,29947.0%47.0%31,54050.6%50.6%———1,4732.4%2.4%———62,31270.8%
27,19944.9%44.9%29,77449.1%49.1%———2,3353.9%3.9%5180.9%0.9%60,59567.1%
33,70843.9%43.9%36,70247.8%47.8%———4,3075.6%5.6%6830.9%0.9%76,76367.7%
30,42443.2%43.2%36,41851.7%51.7%———2,2623.2%3.2%———70,41375.7%
27,67447.2%47.2%26,12144.6%44.6%———3,5486.1%6.1%5851.0%1.0%58,57669.3%
21,21826.2%26.2%31,35638.7%38.7%———26,35732.6%32.6%1,5051.9%1.9%80,92973.8%
37,90759.8%59.8%21,33933.7%33.7%———2,6844.2%4.2%1,0761.7%1.7%63,36471.7%
32,64845.9%45.9%34,86249.0%49.0%———2,0902.9%2.9%6300.9%0.9%71,19275.0%
8,85553.5%53.5%5,51333.3%33.3%———2,01112.2%12.2%1701.0%1.0%16,54954.9%
34,22664.0%64.0%10,51719.7%19.7%2,6525.0%5.0%3,9567.4%7.4%1,3312.5%2.5%53,49067.2%
2,81236.7%36.7%1,99226.0%26.0%———2,85337.3%37.3%———7,65735.4%
31,12851.1%51.1%27,30144.8%44.8%———1,6982.8%2.8%3510.6%0.6%60,87273.0%
31,87253.1%53.1%26,66844.4%44.4%———8311.4%1.4%3630.6%0.6%60,04374.5%
28,82744.2%44.2%33,21950.9%50.9%———2,1893.4%3.4%6020.9%0.9%65,23472.8%
53,14667.4%67.4%22,07228.0%28.0%———2,0632.6%2.6%6520.8%0.8%78,80376.9%
28,65343.0%43.0%32,13148.2%48.2%———5,1127.7%7.7%8041.2%1.2%66,70064.1%
51,02662.7%62.7%12,69215.6%15.6%———15,93519.6%19.6%9161.1%1.1%81,33877.4%
43,38865.2%65.2%18,01027.1%27.1%———4,0176.0%6.0%6421.0%1.0%66,56469.2%
43,55563.6%63.6%18,51727.1%27.1%———4,8477.1%7.1%7801.1%1.1%68,44572.3%

Parties with seats, or the top three by votes. Valid votes include all candidates. Turnout is votes cast / registered voters.

DistrictElectedRunner-up
Jake SawatzkyLiberal19,547 votes · 35.1%
Runner-upPeter JulianNDP17,574 votes · 31.5%
Peter JulianNDP17,574 votes · 31.5%3.5percentage points
Sandra CobenaConservative31,540 votes · 50.6%
Runner-upJennifer McLachlanLiberal29,299 votes · 47.0%
Jennifer McLachlanLiberal29,299 votes · 47.0%3.6percentage points
Tony BaldinelliConservative29,774 votes · 49.1%
Runner-upAndrea KaiserLiberal27,199 votes · 44.9%
Andrea KaiserLiberal27,199 votes · 44.9%4.3percentage points
Fred DaviesConservative36,702 votes · 47.8%
Runner-upVance BadaweyLiberal33,708 votes · 43.9%
Vance BadaweyLiberal33,708 votes · 43.9%3.9percentage points
Dean AllisonConservative36,418 votes · 51.7%
Runner-upJennifer KorstanjeLiberal30,424 votes · 43.2%
Jennifer KorstanjeLiberal30,424 votes · 43.2%8.5percentage points
Pauline RochefortLiberal27,674 votes · 47.2%
Runner-upGarry KellerConservative26,121 votes · 44.6%
Garry KellerConservative26,121 votes · 44.6%2.7percentage points
Aaron GunnConservative31,356 votes · 38.7%
Runner-upTanille JohnstonNDP26,357 votes · 32.6%
Tanille JohnstonNDP26,357 votes · 32.6%6.2percentage points
Jonathan WilkinsonLiberal37,907 votes · 59.8%
Runner-upStephen CurranConservative21,339 votes · 33.7%
Stephen CurranConservative21,339 votes · 33.7%26.2percentage points
Philip LawrenceConservative34,862 votes · 49.0%
Runner-upJohn GoheenLiberal32,648 votes · 45.9%
John GoheenLiberal32,648 votes · 45.9%3.1percentage points
Rebecca AltyLiberal8,855 votes · 53.5%
Runner-upKimberly FairmanConservative5,513 votes · 33.3%
Kimberly FairmanConservative5,513 votes · 33.3%20.2percentage points
Anna GaineyLiberal34,226 votes · 64.0%
Runner-upNeil DrabkinConservative10,517 votes · 19.7%
Neil DrabkinConservative10,517 votes · 19.7%44.3percentage points
Lori IdloutNDP2,853 votes · 37.3%
Runner-upKilikvak KabloonaLiberal2,812 votes · 36.7%
Kilikvak KabloonaLiberal2,812 votes · 36.7%0.5percentage points
Anita AnandLiberal31,128 votes · 51.1%
Runner-upRon ChhinzerConservative27,301 votes · 44.8%
Ron ChhinzerConservative27,301 votes · 44.8%6.3percentage points
Sima AcanLiberal31,872 votes · 53.1%
Runner-upTim CrowderConservative26,668 votes · 44.4%
Tim CrowderConservative26,668 votes · 44.4%8.7percentage points
Dan AlbasConservative33,219 votes · 50.9%
Runner-upJuliette SicotteLiberal28,827 votes · 44.2%
Juliette SicotteLiberal28,827 votes · 44.2%6.7percentage points
Marie-France LalondeLiberal53,146 votes · 67.4%
Runner-upSteve MansourConservative22,072 votes · 28.0%
Steve MansourConservative22,072 votes · 28.0%39.4percentage points
Rhonda KirklandConservative32,131 votes · 48.2%
Runner-upIsaac RansomLiberal28,653 votes · 43.0%
Isaac RansomLiberal28,653 votes · 43.0%5.2percentage points
Yasir NaqviLiberal51,026 votes · 62.7%
Runner-upJoel HardenNDP15,935 votes · 19.6%
Joel HardenNDP15,935 votes · 19.6%43.1percentage points
David McGuintyLiberal43,388 votes · 65.2%
Runner-upBlair TurnerConservative18,010 votes · 27.1%
Blair TurnerConservative18,010 votes · 27.1%38.1percentage points
Anita VandenbeldLiberal43,555 votes · 63.6%
Runner-upRyan TelfordConservative18,517 votes · 27.1%
Ryan TelfordConservative18,517 votes · 27.1%36.6percentage points

By-Elections

View by-election results · 1 contests · 1 dates