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 %
25,61738.0%38.0%40,42260.0%60.0%———8911.3%1.3%———67,35570.9%
28,76942.8%42.8%33,85050.4%50.4%———3,4175.1%5.1%1,1051.6%1.6%67,14172.7%
41,12854.3%54.3%12,87017.0%17.0%———18,87724.9%24.9%2,3503.1%3.1%75,76874.4%
30,90563.7%63.7%9,11318.8%18.8%4,3649.0%9.0%2,9326.0%6.0%9962.1%2.1%48,51959.8%
26,53153.4%53.4%12,27824.7%24.7%8,52617.2%17.2%2,3424.7%4.7%———49,67760.2%
37,57959.5%59.5%20,57132.6%32.6%———2,6174.1%4.1%1,5992.5%2.5%63,19372.8%
29,60944.4%44.4%33,73650.6%50.6%———1,3462.0%2.0%1,3892.1%2.1%66,64676.0%
38,38459.7%59.7%21,18133.0%33.0%———2,0703.2%3.2%2,2053.4%3.4%64,24771.1%
35,62452.7%52.7%29,62043.8%43.8%———1,6382.4%2.4%5060.7%0.7%67,59471.9%
25,48853.4%53.4%20,97744.0%44.0%———1,2242.6%2.6%———47,68960.5%
16,98630.9%30.9%21,41239.0%39.0%———15,25627.8%27.8%3970.7%0.7%54,88858.2%
32,08645.7%45.7%32,09045.8%45.8%———4,2406.0%6.0%4680.7%0.7%70,13866.5%
12,13835.4%35.4%7,65822.3%22.3%———13,52439.4%39.4%3891.1%1.1%34,28953.7%
19,79257.9%57.9%11,74034.4%34.4%———2,0596.0%6.0%1940.6%0.6%34,17358.5%
27,33759.0%59.0%16,25235.1%35.1%———2,1144.6%4.6%2310.5%0.5%46,31972.2%
33,83463.6%63.6%14,74827.7%27.7%———3,4636.5%6.5%4500.8%0.8%53,17874.8%
30,27654.5%54.5%22,65940.8%40.8%———2,2184.0%4.0%4380.8%0.8%55,59175.5%
17,46925.2%25.2%47,86369.1%69.1%———2,7534.0%4.0%———69,29074.2%
20,31842.7%42.7%26,11054.8%54.8%———1,1912.5%2.5%———47,61963.7%
24,66355.3%55.3%17,74639.8%39.8%———2,1904.9%4.9%———44,59957.6%

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

DistrictElectedRunner-up
Michael GuglielminConservative40,422 votes · 60.0%
Runner-upFrancesco SorbaraLiberal25,617 votes · 38.0%
Francesco SorbaraLiberal25,617 votes · 38.0%22.0percentage points
Scott AndersonConservative33,850 votes · 50.4%
Runner-upAnna Warwick SearsLiberal28,769 votes · 42.8%
Anna Warwick SearsLiberal28,769 votes · 42.8%7.6percentage points
Will GreavesLiberal41,128 votes · 54.3%
Runner-upLaurel CollinsNDP18,877 votes · 24.9%
Laurel CollinsNDP18,877 votes · 24.9%29.4percentage points
Marc MillerLiberal30,905 votes · 63.7%
Runner-upSteve ShanahanConservative9,113 votes · 18.8%
Steve ShanahanConservative9,113 votes · 18.8%44.9percentage points
Annie KoutrakisLiberal26,531 votes · 53.4%
Runner-upGrace DaouConservative12,278 votes · 24.7%
Grace DaouConservative12,278 votes · 24.7%28.7percentage points
Bardish ChaggerLiberal37,579 votes · 59.5%
Runner-upWaseem BotrosConservative20,571 votes · 32.6%
Waseem BotrosConservative20,571 votes · 32.6%26.9percentage points
Michael ChongConservative33,736 votes · 50.6%
Runner-upSean CarscaddenLiberal29,609 votes · 44.4%
Sean CarscaddenLiberal29,609 votes · 44.4%6.2percentage points
Patrick WeilerLiberal38,384 votes · 59.7%
Runner-upKeith RoyConservative21,181 votes · 33.0%
Keith RoyConservative21,181 votes · 33.0%26.8percentage points
Ryan TurnbullLiberal35,624 votes · 52.7%
Runner-upSteve YamadaConservative29,620 votes · 43.8%
Steve YamadaConservative29,620 votes · 43.8%8.9percentage points
Ali EhsassiLiberal25,488 votes · 53.4%
Runner-upJames LinConservative20,977 votes · 44.0%
James LinConservative20,977 votes · 44.0%9.5percentage points
Harb GillConservative21,412 votes · 39.0%
Runner-upRichard PollockLiberal16,986 votes · 30.9%
Richard PollockLiberal16,986 votes · 30.9%8.1percentage points
Kathy BorrelliConservative32,090 votes · 45.8%
Runner-upIrek KusmierczykLiberal32,086 votes · 45.7%
Irek KusmierczykLiberal32,086 votes · 45.7%0.0percentage points
Leah GazanNDP13,524 votes · 39.4%
Runner-upRahul WaliaLiberal12,138 votes · 35.4%
Rahul WaliaLiberal12,138 votes · 35.4%4.0percentage points
Kevin LamoureuxLiberal19,792 votes · 57.9%
Runner-upRachel PunzalanConservative11,740 votes · 34.4%
Rachel PunzalanConservative11,740 votes · 34.4%23.6percentage points
Terry DuguidLiberal27,337 votes · 59.0%
Runner-upJanice Morley-LecomteConservative16,252 votes · 35.1%
Janice Morley-LecomteConservative16,252 votes · 35.1%23.9percentage points
Ben CarrLiberal33,834 votes · 63.6%
Runner-upRoyden BrousseauConservative14,748 votes · 27.7%
Royden BrousseauConservative14,748 votes · 27.7%35.9percentage points
Doug EyolfsonLiberal30,276 votes · 54.5%
Runner-upMarty MorantzConservative22,659 votes · 40.8%
Marty MorantzConservative22,659 votes · 40.8%13.7percentage points
William StevensonConservative47,863 votes · 69.1%
Runner-upMichael FarkLiberal17,469 votes · 25.2%
Michael FarkLiberal17,469 votes · 25.2%43.9percentage points
Roman BaberConservative26,110 votes · 54.8%
Runner-upYa'ara SaksLiberal20,318 votes · 42.7%
Ya'ara SaksLiberal20,318 votes · 42.7%12.2percentage points
Ahmed HussenLiberal24,663 votes · 55.3%
Runner-upNicolas PhamConservative17,746 votes · 39.8%
Nicolas PhamConservative17,746 votes · 39.8%15.5percentage points

By-Elections

View by-election results · 1 contests · 1 dates