Candidates and races
Every riding in the 44th general election — who won, by how much, and who came second. Ranked by margin, so the closest results come first.
Official results, polling day 20 September 2021 · Elections Canada via open.canada.ca. These are completed elections, not a contest in progress.
Ridings
338
Candidates
2,010
Parties
23
Closest margin
12 votes
Seats won
Liberal
160 seats
Conservative
119 seats
Bloc Québécois
32 seats
NDP-New Democratic Party
25 seats
Green Party
2 seats
Alberta — 34 of 338 ridings, closest first
| Riding | Province | Elected | Party | Votes | Share | Margin | Runner-up |
|---|---|---|---|---|---|---|---|
| Edmonton Centre | Alberta | Randy Boissonnault | Liberal | 16,560 | 33.7% | 615 (1.2%) | Conservative |
| Edmonton Griesbach | Alberta | Blake Desjarlais | NDP-New Democratic Party | 17,457 | 40.5% | 1,500 (3.5%) | Conservative |
| Edmonton Mill Woods | Alberta | Tim Uppal · incumbent | Conservative | 18,392 | 37.9% | 1,893 (3.9%) | Liberal |
| Calgary Skyview | Alberta | George Chahal | Liberal | 20,092 | 42.4% | 2,981 (6.3%) | Conservative |
| Edmonton Manning | Alberta | Ziad Aboultaif · incumbent | Conservative | 20,219 | 41.1% | 5,220 (10.6%) | NDP-New Democratic Party |
| Calgary Forest Lawn | Alberta | Jasraj Singh Hallan · incumbent | Conservative | 15,434 | 44.5% | 5,826 (16.8%) | Liberal |
| Calgary Confederation | Alberta | Len Webber · incumbent | Conservative | 28,367 | 46.0% | 10,807 (17.5%) | Liberal |
| St. Albert--Edmonton | Alberta | Michael Cooper · incumbent | Conservative | 29,652 | 47.6% | 11,836 (19.0%) | NDP-New Democratic Party |
| Edmonton West | Alberta | Kelly McCauley · incumbent | Conservative | 25,278 | 45.1% | 11,088 (19.8%) | NDP-New Democratic Party |
| Edmonton Riverbend | Alberta | Matt Jeneroux · incumbent | Conservative | 25,702 | 45.1% | 11,533 (20.3%) | Liberal |
| Calgary Centre | Alberta | Greg McLean · incumbent | Conservative | 30,375 | 51.3% | 12,782 (21.6%) | Liberal |
| Calgary Rocky Ridge | Alberta | Pat Kelly · incumbent | Conservative | 36,034 | 54.5% | 21,341 (32.3%) | Liberal |
| Edmonton--Wetaskiwin | Alberta | Mike Lake · incumbent | Conservative | 48,340 | 55.7% | 30,081 (34.6%) | NDP-New Democratic Party |
| Calgary Nose Hill | Alberta | Michelle Rempel Garner · incumbent | Conservative | 28,001 | 55.6% | 17,690 (35.1%) | Liberal |
| Edmonton Strathcona | Alberta | Heather McPherson · incumbent | NDP-New Democratic Party | 31,690 | 60.7% | 18,380 (35.2%) | Conservative |
| Lethbridge | Alberta | Rachael Harder · incumbent | Conservative | 32,817 | 55.6% | 21,431 (36.3%) | NDP-New Democratic Party |
| Sherwood Park--Fort Saskatchewan | Alberta | Garnett Genuis · incumbent | Conservative | 41,092 | 57.6% | 26,352 (36.9%) | NDP-New Democratic Party |
| Calgary Heritage | Alberta | Bob Benzen · incumbent | Conservative | 30,870 | 57.7% | 21,550 (40.2%) | NDP-New Democratic Party |
| Calgary Signal Hill | Alberta | Ron Liepert · incumbent | Conservative | 35,217 | 59.0% | 24,111 (40.4%) | Liberal |
| Banff--Airdrie | Alberta | Blake Richards · incumbent | Conservative | 43,677 | 56.7% | 31,195 (40.5%) | NDP-New Democratic Party |
| Calgary Midnapore | Alberta | Stephanie Kusie · incumbent | Conservative | 39,147 | 60.7% | 27,321 (42.3%) | NDP-New Democratic Party |
| Sturgeon River--Parkland | Alberta | Dane Lloyd · incumbent | Conservative | 40,957 | 61.6% | 28,425 (42.8%) | NDP-New Democratic Party |
| Calgary Shepard | Alberta | Tom Kmiec · incumbent | Conservative | 44,411 | 60.4% | 32,308 (43.9%) | NDP-New Democratic Party |
| Red Deer--Lacombe | Alberta | Blaine Calkins · incumbent | Conservative | 39,805 | 64.2% | 30,999 (50.0%) | NDP-New Democratic Party |
| Peace River--Westlock | Alberta | Arnold Viersen · incumbent | Conservative | 29,486 | 63.0% | 23,467 (50.1%) | NDP-New Democratic Party |
| Red Deer--Mountain View | Alberta | Earl Dreeshen · incumbent | Conservative | 40,680 | 64.2% | 31,854 (50.3%) | NDP-New Democratic Party |
| Medicine Hat--Cardston--Warner | Alberta | Glen Motz | Conservative | 31,648 | 65.4% | 24,832 (51.3%) | NDP-New Democratic Party |
| Yellowhead | Alberta | Gerald Soroka · incumbent | Conservative | 33,603 | 66.2% | 27,128 (53.4%) | People's Party - PPC |
| Fort McMurray--Cold Lake | Alberta | Laila Goodridge | Conservative | 29,242 | 67.8% | 23,761 (55.1%) | People's Party - PPC |
| Grande Prairie--Mackenzie | Alberta | Chris Warkentin · incumbent | Conservative | 36,361 | 68.4% | 29,899 (56.3%) | NDP-New Democratic Party |
| Foothills | Alberta | John Barlow · incumbent | Conservative | 44,456 | 69.2% | 37,339 (58.1%) | NDP-New Democratic Party |
| Lakeland | Alberta | Shannon Stubbs · incumbent | Conservative | 36,557 | 69.4% | 30,730 (58.4%) | People's Party - PPC |
| Bow River | Alberta | Martin Shields · incumbent | Conservative | 35,676 | 69.8% | 30,568 (59.8%) | People's Party - PPC |
| Battle River--Crowfoot | Alberta | Damien Kurek · incumbent | Conservative | 41,819 | 71.3% | 36,058 (61.5%) | NDP-New Democratic Party |
The winner is the candidate the official results record with a winning margin — cross-checked against the highest vote count, which agrees in all 338 ridings. It is never inferred from the incumbency marker in the source file: that marks a sitting MP who ran again, and 32 seats were won by candidates who carried no marker at all. Party totals count seats, not votes.