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 %
45,93467.4%67.4%14,63321.5%21.5%———5,1647.6%7.6%1,3452.0%2.0%68,18369.3%
26,02455.2%55.2%5,91112.5%12.5%5,64412.0%12.0%5,02410.7%10.7%4,5399.6%9.6%47,14262.3%
27,31138.2%38.2%38,19153.4%53.4%———3,0464.3%4.3%8971.3%1.3%71,55171.5%
24,70053.0%53.0%4,92710.6%10.6%7,72616.6%16.6%7,60616.3%16.3%———46,61965.6%
12,69017.8%17.8%53,46875.2%75.2%———2,9494.1%4.1%4490.6%0.6%71,10774.8%
27,56342.6%42.6%33,74252.2%52.2%———2,3003.6%3.6%———64,65371.4%
6,27811.8%11.8%41,13077.1%77.1%———2,9135.5%5.5%———53,36965.0%
26,14240.8%40.8%33,97253.0%53.0%———2,9094.5%4.5%———64,09271.2%
42,89054.3%54.3%32,44641.0%41.0%———2,4063.0%3.0%6550.8%0.8%79,05974.1%
38,57854.2%54.2%29,32041.2%41.2%———1,8382.6%2.6%5350.8%0.8%71,23270.4%
24,21738.8%38.8%7,37511.8%11.8%28,76546.1%46.1%1,5412.5%2.5%———62,42676.3%
34,32660.1%60.1%17,45330.5%30.5%3,0975.4%5.4%1,6132.8%2.8%———57,13669.3%
30,72845.6%45.6%31,92447.4%47.4%———4,1416.2%6.2%———67,33371.9%
———56,10681.8%81.8%———7,41410.8%10.8%———68,57975.1%
32,08854.6%54.6%16,22127.6%27.6%6,07110.3%10.3%2,9715.1%5.1%7491.3%1.3%58,77369.0%
27,07443.5%43.5%25,12640.4%40.4%———9,36015.0%15.0%5190.8%0.8%62,19670.3%
10,49322.8%22.8%31,88969.4%69.4%———2,0114.4%4.4%5951.3%1.3%45,96567.9%
18,86529.0%29.0%32,18449.6%49.6%11,60617.9%17.9%1,0341.6%1.6%7281.1%1.1%64,94174.2%
39,11054.8%54.8%28,80540.3%40.3%———1,7302.4%2.4%7871.1%1.1%71,39375.8%
7,45119.2%19.2%27,76371.5%71.5%———3,6309.3%9.3%———38,84461.7%

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

DistrictElectedRunner-up
Mona FortierLiberal45,934 votes · 67.4%
Runner-upDean WytheConservative14,633 votes · 21.5%
Dean WytheConservative14,633 votes · 21.5%45.9percentage points
Rachel BendayanLiberal26,024 votes · 55.2%
Runner-upRonan ReichConservative5,911 votes · 12.5%
Ronan ReichConservative5,911 votes · 12.5%42.7percentage points
Arpan KhannaConservative38,191 votes · 53.4%
Runner-upDavid HilderleyLiberal27,311 votes · 38.2%
David HilderleyLiberal27,311 votes · 38.2%15.2percentage points
Marjorie MichelLiberal24,700 votes · 53.0%
Runner-upSophy Forget BélecBQ7,726 votes · 16.6%
Sophy Forget BélecBQ7,726 votes · 16.6%36.4percentage points
Dane LloydConservative53,468 votes · 75.2%
Runner-upAshley FearnallLiberal12,690 votes · 17.8%
Ashley FearnallLiberal12,690 votes · 17.8%57.4percentage points
Scott AitchisonConservative33,742 votes · 52.2%
Runner-upGeordie SabbaghLiberal27,563 votes · 42.6%
Geordie SabbaghLiberal27,563 votes · 42.6%9.6percentage points
Arnold ViersenConservative41,130 votes · 77.1%
Runner-upLuke MarkowskiLiberal6,278 votes · 11.8%
Luke MarkowskiLiberal6,278 votes · 11.8%65.3percentage points
John NaterConservative33,972 votes · 53.0%
Runner-upDavid MackeyLiberal26,142 votes · 40.8%
David MackeyLiberal26,142 votes · 40.8%12.2percentage points
Emma HarrisonLiberal42,890 votes · 54.3%
Runner-upMichelle FerreriConservative32,446 votes · 41.0%
Michelle FerreriConservative32,446 votes · 41.0%13.2percentage points
Juanita NathanLiberal38,578 votes · 54.2%
Runner-upAlicia ViangaConservative29,320 votes · 41.2%
Alicia ViangaConservative29,320 votes · 41.2%13.0percentage points
Xavier Barsalou-DuvalBQ28,765 votes · 46.1%
Runner-upLaurent de CasanoveLiberal24,217 votes · 38.8%
Laurent de CasanoveLiberal24,217 votes · 38.8%7.3percentage points
Sameer ZuberiLiberal34,326 votes · 60.1%
Runner-upTanya ToledanoConservative17,453 votes · 30.5%
Tanya ToledanoConservative17,453 votes · 30.5%29.5percentage points
Marc DaltonConservative31,924 votes · 47.4%
Runner-upAngie RowellLiberal30,728 votes · 45.6%
Angie RowellLiberal30,728 votes · 45.6%1.8percentage points
Blaine CalkinsConservative56,106 votes · 81.8%
Runner-upLogan HooleyNDP7,414 votes · 10.8%
Logan HooleyNDP7,414 votes · 10.8%71.0percentage points
Sophie ChatelLiberal32,088 votes · 54.6%
Runner-upBrian NolanConservative16,221 votes · 27.6%
Brian NolanConservative16,221 votes · 27.6%27.0percentage points
Zoe RoyerLiberal27,074 votes · 43.5%
Runner-upPaul LambertConservative25,126 votes · 40.4%
Paul LambertConservative25,126 votes · 40.4%3.1percentage points
Branden LeslieConservative31,889 votes · 69.4%
Runner-upRobert KreisLiberal10,493 votes · 22.8%
Robert KreisLiberal10,493 votes · 22.8%46.6percentage points
Joël GodinConservative32,184 votes · 49.6%
Runner-upAntonin LerouxLiberal18,865 votes · 29.0%
Antonin LerouxLiberal18,865 votes · 29.0%20.5percentage points
Giovanna MingarelliLiberal39,110 votes · 54.8%
Runner-upJulie SéguinConservative28,805 votes · 40.3%
Julie SéguinConservative28,805 votes · 40.3%14.4percentage points
Randy HobackConservative27,763 votes · 71.5%
Runner-upChristopher HadubiakLiberal7,451 votes · 19.2%
Christopher HadubiakLiberal7,451 votes · 19.2%52.3percentage points

By-Elections

View by-election results · 1 contests · 1 dates