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 %
36,43955.8%55.8%12,66219.4%19.4%———15,00323.0%23.0%7001.1%1.1%65,31370.7%
19,59347.9%47.9%19,60548.0%48.0%———1,6774.1%4.1%———40,87564.4%
23,35238.7%38.7%10,96118.2%18.2%23,35138.7%38.7%1,5562.6%2.6%6301.0%1.0%60,27867.9%
29,51945.8%45.8%12,01918.7%18.7%20,82832.3%32.3%1,5852.5%2.5%———64,39772.7%
20,87331.2%31.2%44,41966.4%66.4%———8331.2%1.2%3530.5%0.5%66,91868.9%
21,12548.5%48.5%18,68542.9%42.9%———2,9546.8%6.8%3340.8%0.8%43,53166.4%
25,13455.2%55.2%16,26735.7%35.7%———3,2357.1%7.1%4170.9%0.9%45,51267.8%
14,22635.9%35.9%23,32258.8%58.8%———8122.0%2.0%8062.0%2.0%39,66773.7%
37,90764.3%64.3%12,32120.9%20.9%———7,35812.5%12.5%6641.1%1.1%58,92263.9%
39,19166.6%66.6%11,18719.0%19.0%———7,62613.0%13.0%6261.1%1.1%58,88171.6%
44,31361.9%61.9%23,70033.1%33.1%———2,4963.5%3.5%5520.8%0.8%71,58173.7%
25,14741.0%41.0%16,70827.2%27.2%16,92127.6%27.6%1,4372.3%2.3%5690.9%0.9%61,31768.0%
39,84764.0%64.0%14,62423.5%23.5%———6,1689.9%9.9%1,0661.7%1.7%62,26565.4%
29,85555.2%55.2%16,36830.3%30.3%———6,80712.6%12.6%7571.4%1.4%54,06163.2%
20,28735.5%35.5%10,16217.8%17.8%———24,94543.6%43.6%1,0991.9%1.9%57,15162.7%
27,11752.3%52.3%18,50035.7%35.7%———5,0889.8%9.8%6581.3%1.3%51,84561.8%
37,01062.1%62.1%17,13328.8%28.8%———4,4897.5%7.5%9451.6%1.6%59,57769.1%
18,48536.6%36.6%12,35224.5%24.5%———18,78837.2%37.2%4991.0%1.0%50,44663.0%
35,38463.2%63.2%17,00830.4%30.4%———2,3914.3%4.3%1,0321.8%1.8%55,99768.8%
40,98257.9%57.9%16,17922.8%22.8%10,57114.9%14.9%1,6022.3%2.3%9571.4%1.4%70,81874.9%

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

DistrictElectedRunner-up
Karim BardeesyLiberal36,439 votes · 55.8%
Runner-upBhutila KarpocheNDP15,003 votes · 23.0%
Bhutila KarpocheNDP15,003 votes · 23.0%32.8percentage points
Jonathan RoweConservative19,605 votes · 48.0%
Runner-upAnthony GermainLiberal19,593 votes · 47.9%
Anthony GermainLiberal19,593 votes · 47.9%0.0percentage points
Tatiana AugusteLiberal23,352 votes · 38.7%
Runner-upNathalie Sinclair-DesgagnéBQ23,351 votes · 38.7%
Nathalie Sinclair-DesgagnéBQ23,351 votes · 38.7%0.0percentage points
Madeleine ChenetteLiberal29,519 votes · 45.8%
Runner-upMarie-Noëlle Closson-DuquetteBQ20,828 votes · 32.3%
Marie-Noëlle Closson-DuquetteBQ20,828 votes · 32.3%13.5percentage points
Melissa LantsmanConservative44,419 votes · 66.4%
Runner-upLiane KotlerLiberal20,873 votes · 31.2%
Liane KotlerLiberal20,873 votes · 31.2%35.2percentage points
Marcus PowlowskiLiberal21,125 votes · 48.5%
Runner-upBrendan HyattConservative18,685 votes · 42.9%
Brendan HyattConservative18,685 votes · 42.9%5.6percentage points
Patty HajduLiberal25,134 votes · 55.2%
Runner-upBob HermanConservative16,267 votes · 35.7%
Bob HermanConservative16,267 votes · 35.7%19.5percentage points
Richard BragdonConservative23,322 votes · 58.8%
Runner-upJulian MoultonLiberal14,226 votes · 35.9%
Julian MoultonLiberal14,226 votes · 35.9%22.9percentage points
Evan SolomonLiberal37,907 votes · 64.3%
Runner-upLuis IbarraConservative12,321 votes · 20.9%
Luis IbarraConservative12,321 votes · 20.9%43.4percentage points
Julie DabrusinLiberal39,191 votes · 66.6%
Runner-upAshik HussainConservative11,187 votes · 19.0%
Ashik HussainConservative11,187 votes · 19.0%47.6percentage points
Leslie ChurchLiberal44,313 votes · 61.9%
Runner-upDon StewartConservative23,700 votes · 33.1%
Don StewartConservative23,700 votes · 33.1%28.8percentage points
Caroline DesrochersLiberal25,147 votes · 41.0%
Runner-upRené VillemureBQ16,921 votes · 27.6%
René VillemureBQ16,921 votes · 27.6%13.4percentage points
Chrystia FreelandLiberal39,847 votes · 64.0%
Runner-upLiz GradeConservative14,624 votes · 23.5%
Liz GradeConservative14,624 votes · 23.5%40.5percentage points
Hedy FryLiberal29,855 votes · 55.2%
Runner-upElaine AllanConservative16,368 votes · 30.3%
Elaine AllanConservative16,368 votes · 30.3%25.0percentage points
Jenny KwanNDP24,945 votes · 43.6%
Runner-upMark WiensLiberal20,287 votes · 35.5%
Mark WiensLiberal20,287 votes · 35.5%8.2percentage points
Gregor RobertsonLiberal27,117 votes · 52.3%
Runner-upAvi NayyarConservative18,500 votes · 35.7%
Avi NayyarConservative18,500 votes · 35.7%16.6percentage points
Taleeb NoormohamedLiberal37,010 votes · 62.1%
Runner-upMarie RogersConservative17,133 votes · 28.8%
Marie RogersConservative17,133 votes · 28.8%33.4percentage points
Don DaviesNDP18,788 votes · 37.2%
Runner-upAmy K. GillLiberal18,485 votes · 36.6%
Amy K. GillLiberal18,485 votes · 36.6%0.6percentage points
Wade GrantLiberal35,384 votes · 63.2%
Runner-upKen CharkoConservative17,008 votes · 30.4%
Ken CharkoConservative17,008 votes · 30.4%32.8percentage points
Peter SchiefkeLiberal40,982 votes · 57.9%
Runner-upThomas BarréConservative16,179 votes · 22.8%
Thomas BarréConservative16,179 votes · 22.8%35.0percentage points

By-Elections

View by-election results · 1 contests · 1 dates