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
- Liberal 169
- Conservative 144
- BQ 22
- NDP 7
- Green 1
| Party | Votes | Vote % | Seats | Seats % |
|---|---|---|---|---|
| Liberal | 8,595,488 | 43.8% | 169 | 49.3% |
| Conservative | 8,113,484 | 41.3% | 144 | 42.0% |
| Bloc Québécois | 1,236,349 | 6.3% | 22 | 6.4% |
| NDP-New Democratic Party | 1,234,673 | 6.3% | 7 | 2.0% |
| Green Party | 238,892 | 1.2% | 1 | 0.3% |
| People's Party - PPC | 136,977 | 0.7% | 0 | 0.0% |
| Independent | 34,289 | 0.2% | 0 | 0.0% |
| Christian Heritage Party | 10,065 | 0.1% | 0 | 0.0% |
| Parti Rhinocéros Party | 7,063 | 0.0% | 0 | 0.0% |
| United Party of Canada (UP) | 6,061 | 0.0% | 0 | 0.0% |
| Libertarian | 5,561 | 0.0% | 0 | 0.0% |
| No affiliation | 5,209 | 0.0% | 0 | 0.0% |
| Marxist-Leninist | 4,996 | 0.0% | 0 | 0.0% |
| Communist | 4,685 | 0.0% | 0 | 0.0% |
| Centrist | 3,314 | 0.0% | 0 | 0.0% |
| Canadian Future Party | 3,123 | 0.0% | 0 | 0.0% |
| Animal Protection Party | 1,301 | 0.0% | 0 | 0.0% |
| Marijuana Party | 133 | 0.0% | 0 | 0.0% |
| Party | 2021 seats | 2025 seats | Change | 2021 Vote % | 2025 Vote % | Vote share Δ |
|---|---|---|---|---|---|---|
| Liberal | 160 | 169 | +9 | 32.6% | 43.8% | +11.1 pp |
| Conservative | 119 | 144 | +25 | 33.7% | 41.3% | +7.6 pp |
| Bloc Québécois | 32 | 22 | −10 | 7.6% | 6.3% | −1.3 pp |
| NDP-New Democratic Party | 25 | 7 | −18 | 17.8% | 6.3% | −11.5 pp |
| Green Party | 2 | 1 | −1 | 2.3% | 1.2% | −1.1 pp |
Seat changes by party
338 → 343 seats
| Party | 2011 seats | 2025 seats | Change | 2011 Vote % | 2025 Vote % | Vote share Δ |
|---|---|---|---|---|---|---|
| Liberal | 34 | 169 | +135 | 18.9% | 43.8% | +24.9 pp |
| Conservative | 166 | 144 | −22 | 39.6% | 41.3% | +1.7 pp |
| Bloc Québécois | 4 | 22 | +18 | 6.1% | 6.3% | +0.2 pp |
| NDP-New Democratic Party | 103 | 7 | −96 | 30.6% | 6.3% | −24.4 pp |
| Green Party | 1 | 1 | 0 | 3.9% | 1.2% | −2.7 pp |
Seat changes by party
308 → 343 seats
| Party | 2015 seats | 2025 seats | Change | 2015 Vote % | 2025 Vote % | Vote share Δ |
|---|---|---|---|---|---|---|
| Liberal | 184 | 169 | −15 | 39.5% | 43.8% | +4.3 pp |
| Conservative | 99 | 144 | +45 | 31.9% | 41.3% | +9.4 pp |
| Bloc Québécois | 10 | 22 | +12 | 4.7% | 6.3% | +1.6 pp |
| NDP-New Democratic Party | 44 | 7 | −37 | 19.7% | 6.3% | −13.4 pp |
| Green Party | 1 | 1 | 0 | 3.4% | 1.2% | −2.2 pp |
Seat changes by party
338 → 343 seats
| Party | 2019 seats | 2025 seats | Change | 2019 Vote % | 2025 Vote % | Vote share Δ |
|---|---|---|---|---|---|---|
| Liberal | 157 | 169 | +12 | 33.1% | 43.8% | +10.6 pp |
| Conservative | 121 | 144 | +23 | 34.3% | 41.3% | +7.0 pp |
| Bloc Québécois | 32 | 22 | −10 | 7.6% | 6.3% | −1.3 pp |
| NDP-New Democratic Party | 24 | 7 | −17 | 16.0% | 6.3% | −9.7 pp |
| Green Party | 3 | 1 | −2 | 6.5% | 1.2% | −5.3 pp |
Seat changes by party
338 → 343 seats
| Party | 2021 seats | 2025 seats | Change | 2021 Vote % | 2025 Vote % | Vote share Δ |
|---|---|---|---|---|---|---|
| Liberal | 160 | 169 | +9 | 32.6% | 43.8% | +11.1 pp |
| Conservative | 119 | 144 | +25 | 33.7% | 41.3% | +7.6 pp |
| Bloc Québécois | 32 | 22 | −10 | 7.6% | 6.3% | −1.3 pp |
| NDP-New Democratic Party | 25 | 7 | −18 | 17.8% | 6.3% | −11.5 pp |
| Green Party | 2 | 1 | −1 | 2.3% | 1.2% | −1.1 pp |
Seat changes by party
338 → 343 seats
Historical trends
Bloc Québécois Conservative Green Party Liberal NDP-New Democratic Party
Chart data
| Election | Bloc Québécois | Conservative | Green Party | Liberal | NDP-New Democratic Party |
|---|---|---|---|---|---|
| May 2, 2011 | 4 | 166 | 1 | 34 | 103 |
| October 19, 2015 | 10 | 99 | 1 | 184 | 44 |
| October 21, 2019 | 32 | 121 | 3 | 157 | 24 |
| September 20, 2021 | 32 | 119 | 2 | 160 | 25 |
| April 28, 2025 | 22 | 144 | 1 | 169 | 7 |
Bloc Québécois Conservative Green Party Liberal NDP-New Democratic Party
Chart data
| Election | Bloc Québécois | Conservative | Green Party | Liberal | NDP-New Democratic Party |
|---|---|---|---|---|---|
| May 2, 2011 | 4 | 166 | 1 | 34 | 103 |
| October 19, 2015 | 10 | 99 | 1 | 184 | 44 |
| October 21, 2019 | 32 | 121 | 3 | 157 | 24 |
| September 20, 2021 | 32 | 119 | 2 | 160 | 25 |
| April 28, 2025 | 22 | 144 | 1 | 169 | 7 |
Bloc Québécois Conservative Green Party Liberal NDP-New Democratic Party
Chart data
| Election | Bloc Québécois | Conservative | Green Party | Liberal | NDP-New Democratic Party |
|---|---|---|---|---|---|
| May 2, 2011 | 6.1% | 39.6% | 3.9% | 18.9% | 30.6% |
| October 19, 2015 | 4.7% | 31.9% | 3.4% | 39.5% | 19.7% |
| October 21, 2019 | 7.6% | 34.3% | 6.5% | 33.1% | 16.0% |
| September 20, 2021 | 7.6% | 33.7% | 2.3% | 32.6% | 17.8% |
| April 28, 2025 | 6.3% | 41.3% | 1.2% | 43.8% | 6.3% |
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
| District | Liberal | Conservative | BQ | NDP | Green | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Votes | Vote % | Votes | Vote % | Votes | Vote % | Votes | Vote % | Votes | Vote % | |||
| Sherwood Park—Fort Saskatchewan | 22,17827.2% | 27.2% | 54,13166.3% | 66.3% | —— | — | 4,1365.1% | 5.1% | 4480.5% | 0.5% | 81,627 | 78.0% |
| Simcoe North | 29,76744.7% | 44.7% | 32,24148.4% | 48.4% | —— | — | 2,5083.8% | 3.8% | 1,2601.9% | 1.9% | 66,605 | 68.6% |
| Simcoe—Grey | 29,45543.4% | 43.4% | 35,36452.1% | 52.1% | —— | — | 1,5742.3% | 2.3% | 9911.5% | 1.5% | 67,907 | 71.4% |
| Similkameen—South Okanagan—West Kootenay | 25,43137.3% | 37.3% | 30,05444.1% | 44.1% | —— | — | 11,03316.2% | 16.2% | 1,0441.5% | 1.5% | 68,216 | 71.5% |
| Skeena—Bulkley Valley | 4,92311.0% | 11.0% | 21,20247.2% | 47.2% | —— | — | 17,67739.3% | 39.3% | 5281.2% | 1.2% | 44,932 | 64.6% |
| Souris—Moose Mountain | 4,0519.8% | 9.8% | 34,79384.0% | 84.0% | —— | — | 1,8884.6% | 4.6% | 2350.6% | 0.6% | 41,428 | 74.2% |
| South Shore—St. Margarets | 27,83154.9% | 54.9% | 20,86441.1% | 41.1% | —— | — | —— | — | 8181.6% | 1.6% | 50,711 | 72.2% |
| South Surrey—White Rock | 33,09450.5% | 50.5% | 29,92445.7% | 45.7% | —— | — | 1,6342.5% | 2.5% | 8751.3% | 1.3% | 65,527 | 71.6% |
| Spadina—Harbourfront | 31,83260.1% | 60.1% | 16,28630.7% | 30.7% | —— | — | 4,1077.8% | 7.8% | 4480.8% | 0.8% | 52,990 | 64.9% |
| St. Albert—Sturgeon River | 22,97729.9% | 29.9% | 49,21663.9% | 63.9% | —— | — | 3,6844.8% | 4.8% | —— | — | 76,961 | 76.8% |
| St. Boniface—St. Vital | 32,59959.8% | 59.8% | 17,62532.3% | 32.3% | —— | — | 3,7736.9% | 6.9% | —— | — | 54,520 | 72.3% |
| St. Catharines | 34,75052.0% | 52.0% | 27,01340.4% | 40.4% | —— | — | 4,0216.0% | 6.0% | —— | — | 66,810 | 69.3% |
| St. John's East | 28,68162.3% | 62.3% | 11,94125.9% | 25.9% | —— | — | 5,17211.2% | 11.2% | 1590.3% | 0.3% | 46,051 | 70.0% |
| Stormont—Dundas—Glengarry | 26,40739.8% | 39.8% | 37,39956.3% | 56.3% | —— | — | 1,6532.5% | 2.5% | 6741.0% | 1.0% | 66,407 | 68.6% |
| Sudbury | 31,55151.9% | 51.9% | 23,83539.2% | 39.2% | —— | — | 4,6807.7% | 7.7% | —— | — | 60,839 | 69.0% |
| Sudbury East—Manitoulin—Nickel Belt | 25,07541.6% | 41.6% | 29,15648.3% | 48.3% | —— | — | 4,8228.0% | 8.0% | 4650.8% | 0.8% | 60,323 | 70.1% |
| Surrey Centre | 19,90048.0% | 48.0% | 17,92043.2% | 43.2% | —— | — | 2,8116.8% | 6.8% | 3951.0% | 1.0% | 41,454 | 58.5% |
| Surrey Newton | 20,26349.5% | 49.5% | 18,02344.0% | 44.0% | —— | — | 2,4676.0% | 6.0% | —— | — | 40,975 | 63.7% |
| Swift Current—Grasslands—Kindersley | 4,42011.2% | 11.2% | 32,29282.0% | 82.0% | —— | — | 2,2505.7% | 5.7% | —— | — | 39,388 | 70.7% |
| Sydney—Glace Bay | 25,76654.6% | 54.6% | 17,97838.1% | 38.1% | —— | — | 1,7893.8% | 3.8% | —— | — | 47,166 | 69.2% |
Parties with seats, or the top three by votes. Valid votes include all candidates. Turnout is votes cast / registered voters.
| District | Elected | Runner-up | |
|---|---|---|---|
| Sherwood Park—Fort Saskatchewan | Garnett GenuisConservative54,131 votes · 66.3%Runner-upTanya HolmLiberal22,178 votes · 27.2% | Tanya HolmLiberal22,178 votes · 27.2% | 39.2percentage points |
| Simcoe North | Adam ChambersConservative32,241 votes · 48.4%Runner-upRyan RoccaLiberal29,767 votes · 44.7% | Ryan RoccaLiberal29,767 votes · 44.7% | 3.7percentage points |
| Simcoe—Grey | Terry DowdallConservative35,364 votes · 52.1%Runner-upBren MunroLiberal29,455 votes · 43.4% | Bren MunroLiberal29,455 votes · 43.4% | 8.7percentage points |
| Similkameen—South Okanagan—West Kootenay | Helena KonanzConservative30,054 votes · 44.1%Runner-upGloria MorganLiberal25,431 votes · 37.3% | Gloria MorganLiberal25,431 votes · 37.3% | 6.8percentage points |
| Skeena—Bulkley Valley | Ellis RossConservative21,202 votes · 47.2%Runner-upTaylor BachrachNDP17,677 votes · 39.3% | Taylor BachrachNDP17,677 votes · 39.3% | 7.9percentage points |
| Souris—Moose Mountain | Steven BonkConservative34,793 votes · 84.0%Runner-upAziz MianLiberal4,051 votes · 9.8% | Aziz MianLiberal4,051 votes · 9.8% | 74.2percentage points |
| South Shore—St. Margarets | Jessica Fancy-LandryLiberal27,831 votes · 54.9%Runner-upRick PerkinsConservative20,864 votes · 41.1% | Rick PerkinsConservative20,864 votes · 41.1% | 13.7percentage points |
| South Surrey—White Rock | Ernie KlassenLiberal33,094 votes · 50.5%Runner-upKerry-Lynne FindlayConservative29,924 votes · 45.7% | Kerry-Lynne FindlayConservative29,924 votes · 45.7% | 4.8percentage points |
| Spadina—Harbourfront | Chi NguyenLiberal31,832 votes · 60.1%Runner-upDiana FilipovaConservative16,286 votes · 30.7% | Diana FilipovaConservative16,286 votes · 30.7% | 29.3percentage points |
| St. Albert—Sturgeon River | Michael CooperConservative49,216 votes · 63.9%Runner-upLucia StachurskiLiberal22,977 votes · 29.9% | Lucia StachurskiLiberal22,977 votes · 29.9% | 34.1percentage points |
| St. Boniface—St. Vital | Ginette LavackLiberal32,599 votes · 59.8%Runner-upShola AgboolaConservative17,625 votes · 32.3% | Shola AgboolaConservative17,625 votes · 32.3% | 27.5percentage points |
| St. Catharines | Chris BittleLiberal34,750 votes · 52.0%Runner-upBas SluijmersConservative27,013 votes · 40.4% | Bas SluijmersConservative27,013 votes · 40.4% | 11.6percentage points |
| St. John's East | Joanne ThompsonLiberal28,681 votes · 62.3%Runner-upDavid BrazilConservative11,941 votes · 25.9% | David BrazilConservative11,941 votes · 25.9% | 36.4percentage points |
| Stormont—Dundas—Glengarry | Eric DuncanConservative37,399 votes · 56.3%Runner-upSarah GoodLiberal26,407 votes · 39.8% | Sarah GoodLiberal26,407 votes · 39.8% | 16.6percentage points |
| Sudbury | Viviane LapointeLiberal31,551 votes · 51.9%Runner-upIan SymingtonConservative23,835 votes · 39.2% | Ian SymingtonConservative23,835 votes · 39.2% | 12.7percentage points |
| Sudbury East—Manitoulin—Nickel Belt | Jim BelangerConservative29,156 votes · 48.3%Runner-upMarc G. SerréLiberal25,075 votes · 41.6% | Marc G. SerréLiberal25,075 votes · 41.6% | 6.8percentage points |
| Surrey Centre | Randeep SaraiLiberal19,900 votes · 48.0%Runner-upRajvir DhillonConservative17,920 votes · 43.2% | Rajvir DhillonConservative17,920 votes · 43.2% | 4.8percentage points |
| Surrey Newton | Sukh DhaliwalLiberal20,263 votes · 49.5%Runner-upHarjit Singh GillConservative18,023 votes · 44.0% | Harjit Singh GillConservative18,023 votes · 44.0% | 5.5percentage points |
| Swift Current—Grasslands—Kindersley | Jeremy PatzerConservative32,292 votes · 82.0%Runner-upWilliam CatonLiberal4,420 votes · 11.2% | William CatonLiberal4,420 votes · 11.2% | 70.8percentage points |
| Sydney—Glace Bay | Mike KellowayLiberal25,766 votes · 54.6%Runner-upAnna ManleyConservative17,978 votes · 38.1% | Anna ManleyConservative17,978 votes · 38.1% | 16.5percentage points |