logo
Canada

ON 89 22 9 1 QC 36 25 15 2 BC 31 6 4 1 AB 32 2 MB 7 4 3 SK 14 NS 8 2 1 NB 6 4 NL 5 2 PEI 3 1 YK NWT NU 338Canada federal projections Click on map to see projection details Updated on March 17, 2024


170 seats needed for a majority

Safe Likely Leaning Toss up Seat-by-seat
projection
Last election
(2021)
133 45 19 14 211
[182-232]
119
25 15 12 12 64
[43-90]
160
25 5 2 4 36
[30-41]
32
13 1 7 4 25
[15-38]
25
1 1 0 0 2
[2-2]
2

Latest update: March 17, 2024
Electoral district Current party Latest projection
10001 Avalon CPC leaning gain
10002 Bonavista–Burin–Trinity CPC safe gain
10003 Coast of Bays–Central–Notre Dame CPC safe hold
10004 Labrador CPC leaning gain
10005 Long Range Mountains CPC safe gain
10006 St. John’s East Toss up LPC/NDP
10007 St. John’s South–Mount Pearl LPC likely hold
11001 Cardigan Toss up LPC/CPC
11002 Charlottetown Toss up LPC/CPC
11003 Egmont CPC leaning gain
11004 Malpeque CPC likely gain
12001 Cape Breton–Canso CPC likely gain
12002 Central Nova CPC leaning gain
12003 Cumberland–Colchester CPC safe hold
12004 Dartmouth–Cole Harbour LPC leaning hold
12005 Halifax Toss up LPC/NDP
12006 Halifax West LPC likely hold
12007 Kings–Hants CPC leaning gain
12008 Sackville–Preston–Chezzetcook Toss up LPC/CPC
12009 South Shore–St. Margarets CPC safe hold
12010 Sydney–Victoria CPC safe gain
12011 West Nova CPC safe hold
13001 Acadie–Bathurst LPC safe hold
13002 Beauséjour LPC likely hold
13003 Fredericton CPC safe gain
13004 Fundy Royal CPC safe hold
13005 Madawaska–Restigouche LPC leaning hold
13006 Miramichi–Grand Lake CPC safe hold
13007 Moncton–Riverview–Dieppe LPC leaning hold
13008 New Brunswick Southwest CPC safe hold
13009 Saint John–Rothesay CPC leaning gain
13010 Tobique–Mactaquac CPC safe hold
24001 Abitibi–Baie-James–Nunavik–Eeyou BQ likely hold
24002 Abitibi–Témiscamingue BQ safe hold
24003 Ahuntsic-Cartierville LPC safe hold
24004 Alfred-Pellan LPC likely hold
24005 Argenteuil–La Petite-Nation BQ leaning gain
24006 Avignon–La Mitis–Matane–Matapédia BQ safe hold
24007 Beauce CPC safe hold
24008 Beauport–Limoilou CPC likely gain
24009 Bécancour–Nicolet–Saurel BQ safe hold
24010 Bellechasse–Les Etchemins–Lévis CPC safe hold
24011 Beloeil–Chambly BQ safe hold
24012 Berthier–Maskinongé BQ safe hold
24013 Thérèse-De Blainville BQ safe hold
24014 Pierre-Boucher–Les Patriotes–Verchères BQ safe hold
24015 Bourassa LPC safe hold
24016 Brome–Missisquoi BQ likely gain
24017 Brossard–Saint-Lambert LPC safe hold
24018 Rimouski-Neigette–Témiscouata–Les Basques BQ safe hold
24019 Charlesbourg–Haute-Saint-Charles CPC safe hold
24020 Beauport-Côte-de-Beaupré-Île d’Orléans-Charlevoix Toss up CPC/BQ
24021 Châteauguay–Lacolle BQ likely gain
24022 Chicoutimi–Le Fjord CPC safe hold
24023 Compton–Stanstead Toss up CPC/BQ
24024 Dorval–Lachine–LaSalle LPC safe hold
24025 Drummond BQ safe hold
24026 Gaspésie–Les Îles-de-la-Madeleine Toss up LPC/BQ
24027 Gatineau LPC safe hold
24028 Hochelaga Toss up LPC/NDP/BQ
24029 Honoré-Mercier LPC safe hold
24030 Hull–Aylmer LPC safe hold
24031 Joliette BQ safe hold
24032 Jonquière Toss up CPC/BQ
24033 La Pointe-de-l’Île BQ safe hold
24034 La Prairie BQ safe hold
24035 Lac-Saint-Jean BQ likely hold
24036 Lac-Saint-Louis LPC safe hold
24037 LaSalle–Émard–Verdun LPC likely hold
24038 Laurentides–Labelle BQ safe hold
24039 Laurier–Sainte-Marie Toss up LPC/NDP
24040 Laval–Les Îles LPC likely hold
24041 Longueuil–Charles-LeMoyne BQ leaning gain
24042 Lévis–Lotbinière CPC safe hold
24043 Longueuil–Saint-Hubert BQ safe hold
24044 Louis-Hébert CPC likely gain
24045 Louis-Saint-Laurent CPC safe hold
24046 Manicouagan BQ likely hold
24047 Mégantic–L’Érable CPC safe hold
24048 Mirabel BQ safe hold
24049 Montarville BQ safe hold
24050 Montcalm BQ safe hold
24051 Montmagny–L’Islet–Kamouraska–Rivière-du-Loup CPC safe hold
24052 Mount Royal LPC likely hold
24053 Notre-Dame-de-Grâce–Westmount LPC safe hold
24054 Outremont Toss up LPC/NDP
24055 Papineau LPC likely hold
24056 Pierrefonds–Dollard LPC safe hold
24057 Pontiac Toss up LPC/CPC
24058 Portneuf–Jacques-Cartier CPC safe hold
24059 Québec Toss up LPC/CPC/BQ
24060 Repentigny BQ safe hold
24061 Richmond–Arthabaska CPC safe hold
24062 Rivière-des-Mille-Îles BQ safe hold
24063 Rivière-du-Nord BQ safe hold
24064 Rosemont–La Petite-Patrie NDP safe hold
24065 Marc-Aurèle-Fortin LPC leaning hold
24066 Saint-Hyacinthe–Bagot BQ safe hold
24067 Saint-Jean BQ safe hold
24068 Saint-Laurent LPC safe hold
24069 Saint-Léonard–Saint-Michel LPC safe hold
24070 Saint-Maurice–Champlain Toss up LPC/CPC/BQ
24071 Salaberry–Suroît BQ safe hold
24072 Shefford BQ safe hold
24073 Sherbrooke Toss up LPC/BQ
24074 Vaudreuil–Soulanges LPC safe hold
24075 Terrebonne BQ safe hold
24076 Trois-Rivières CPC likely gain
24077 Ville-Marie–Le Sud-Ouest–Île-des-Soeurs LPC safe hold
24078 Vimy LPC safe hold
35001 Ajax LPC leaning hold
35002 Algoma–Manitoulin–Kapuskasing NDP leaning hold
35003 Aurora–Oak Ridges–Richmond Hill CPC safe gain
35004 Barrie–Innisfil CPC safe hold
35005 Barrie–Springwater–Oro-Medonte CPC safe hold
35006 Bay of Quinte CPC safe hold
35007 Beaches–East York LPC safe hold
35008 Brampton Centre CPC leaning gain
35009 Brampton East LPC leaning hold
35010 Brampton North Toss up LPC/CPC
35011 Brampton South Toss up LPC/CPC
35012 Brampton West Toss up LPC/CPC
35013 Brantford–Brant CPC safe hold
35014 Bruce–Grey–Owen Sound CPC safe hold
35015 Burlington CPC likely gain
35016 Cambridge CPC safe gain
35017 Chatham-Kent–Leamington CPC safe hold
35018 Davenport NDP leaning gain
35019 Don Valley East LPC likely hold
35020 Don Valley North Toss up LPC/CPC
35021 Don Valley West CPC likely gain
35022 Dufferin–Caledon CPC safe hold
35023 Durham CPC safe hold
35024 Eglinton–Lawrence CPC likely gain
35025 Elgin–Middlesex–London CPC safe hold
35026 Essex CPC safe hold
35027 Etobicoke Centre CPC likely gain
35028 Etobicoke–Lakeshore CPC likely gain
35029 Etobicoke North LPC likely hold
35030 Flamborough–Glanbrook CPC safe hold
35031 Glengarry–Prescott–Russell CPC likely gain
35032 Guelph CPC leaning gain
35033 Haldimand–Norfolk CPC safe hold
35034 Haliburton–Kawartha Lakes–Brock CPC safe hold
35035 Hamilton Centre NDP safe hold
35036 Hamilton East–Stoney Creek CPC likely gain
35037 Hamilton Mountain CPC leaning gain
35038 Hamilton West–Ancaster–Dundas CPC likely gain
35039 Hastings–Lennox and Addington CPC safe hold
35040 Huron–Bruce CPC safe hold
35041 Kanata–Carleton CPC safe gain
35042 Kenora CPC safe hold
35043 King–Vaughan CPC safe hold
35044 Kingston and the Islands Toss up LPC/CPC/NDP
35045 Kitchener Centre GPC likely hold
35046 Kitchener–Conestoga CPC safe gain
35047 Kitchener South–Hespeler CPC safe gain
35048 Lambton–Kent–Middlesex CPC safe hold
35049 Lanark–Frontenac–Kingston CPC safe hold
35050 Leeds-Grenville-Thousand Islands and Rideau Lakes CPC safe hold
35051 London–Fanshawe NDP safe hold
35052 London North Centre CPC likely gain
35053 London West CPC safe gain
35054 Markham–Stouffville CPC likely gain
35055 Markham–Thornhill LPC safe hold
35056 Markham–Unionville CPC safe gain
35057 Milton CPC leaning gain
35058 Mississauga Centre LPC leaning hold
35059 Mississauga East–Cooksville CPC leaning gain
35060 Mississauga–Erin Mills CPC leaning gain
35061 Mississauga–Lakeshore CPC likely gain
35062 Mississauga–Malton Toss up LPC/CPC
35063 Mississauga–Streetsville CPC likely gain
35064 Nepean CPC likely gain
35065 Newmarket–Aurora CPC safe gain
35066 Niagara Centre CPC safe gain
35067 Niagara Falls CPC safe hold
35068 Niagara West CPC safe hold
35069 Nickel Belt CPC likely gain
35070 Nipissing–Timiskaming CPC safe gain
35071 Northumberland–Peterborough South CPC safe hold
35072 Oakville CPC safe gain
35073 Oakville North–Burlington CPC likely gain
35074 Oshawa CPC safe hold
35075 Ottawa Centre Toss up LPC/NDP
35076 Orléans CPC leaning gain
35077 Ottawa South Toss up LPC/CPC
35078 Ottawa–Vanier LPC leaning hold
35079 Ottawa West–Nepean CPC likely gain
35080 Oxford CPC safe hold
35081 Parkdale–High Park NDP leaning gain
35082 Parry Sound–Muskoka CPC safe hold
35083 Perth–Wellington CPC safe hold
35084 Peterborough–Kawartha CPC safe hold
35085 Pickering–Uxbridge CPC likely gain
35086 Renfrew–Nipissing–Pembroke CPC safe hold
35087 Richmond Hill CPC likely gain
35088 Carleton CPC safe hold
35089 St. Catharines CPC safe gain
35090 Toronto–St. Paul’s Toss up LPC/CPC
35091 Sarnia–Lambton CPC safe hold
35092 Sault Ste. Marie CPC safe gain
35093 Scarborough–Agincourt Toss up LPC/CPC
35094 Scarborough Centre LPC likely hold
35095 Scarborough–Guildwood LPC safe hold
35096 Scarborough North LPC safe hold
35097 Scarborough–Rouge Park LPC safe hold
35098 Scarborough Southwest LPC safe hold
35099 Simcoe–Grey CPC safe hold
35100 Simcoe North CPC safe hold
35101 Spadina–Fort York NDP leaning gain
35102 Stormont–Dundas–South Glengarry CPC safe hold
35103 Sudbury CPC likely gain
35104 Thornhill CPC safe hold
35105 Thunder Bay–Rainy River CPC likely gain
35106 Thunder Bay–Superior North CPC leaning gain
35107 Timmins–James Bay Toss up CPC/NDP
35108 Toronto Centre LPC likely hold
35109 Toronto–Danforth NDP leaning gain
35110 University–Rosedale LPC leaning hold
35111 Vaughan–Woodbridge CPC safe gain
35112 Waterloo CPC likely gain
35113 Wellington–Halton Hills CPC safe hold
35114 Whitby CPC likely gain
35115 Willowdale CPC likely gain
35116 Windsor–Tecumseh CPC leaning gain
35117 Windsor West NDP safe hold
35118 York Centre CPC likely gain
35119 York–Simcoe CPC safe hold
35120 York South–Weston LPC safe hold
35121 Humber River–Black Creek LPC safe hold
46001 Brandon–Souris CPC safe hold
46002 Charleswood–St. James–Assiniboia–Headingley CPC safe hold
46003 Churchill–Keewatinook Aski NDP safe hold
46004 Dauphin–Swan River–Neepawa CPC safe hold
46005 Elmwood–Transcona NDP safe hold
46006 Kildonan–St. Paul CPC safe hold
46007 Portage–Lisgar CPC safe hold
46008 Provencher CPC safe hold
46009 Saint Boniface–Saint Vital LPC leaning hold
46010 Selkirk–Interlake–Eastman CPC safe hold
46011 Winnipeg Centre NDP safe hold
46012 Winnipeg North LPC leaning hold
46013 Winnipeg South Toss up LPC/CPC
46014 Winnipeg South Centre LPC likely hold
47001 Battlefords–Lloydminster CPC safe hold
47002 Cypress Hills–Grasslands CPC safe hold
47003 Desnethé–Missinippi–Churchill River CPC safe hold
47004 Carlton Trail–Eagle Creek CPC safe hold
47005 Moose Jaw–Lake Centre–Lanigan CPC safe hold
47006 Prince Albert CPC safe hold
47007 Regina–Lewvan CPC likely hold
47008 Regina–Qu’Appelle CPC safe hold
47009 Regina–Wascana CPC safe hold
47010 Saskatoon–Grasswood CPC safe hold
47011 Saskatoon–University CPC likely hold
47012 Saskatoon West CPC likely hold
47013 Souris–Moose Mountain CPC safe hold
47014 Yorkton–Melville CPC safe hold
48001 Banff–Airdrie CPC safe hold
48002 Battle River–Crowfoot CPC safe hold
48003 Bow River CPC safe hold
48004 Calgary Centre CPC safe hold
48005 Calgary Confederation CPC safe hold
48006 Calgary Forest Lawn CPC safe hold
48007 Calgary Heritage CPC safe hold
48008 Calgary Midnapore CPC safe hold
48009 Calgary Nose Hill CPC safe hold
48010 Calgary Rocky Ridge CPC safe hold
48011 Calgary Shepard CPC safe hold
48012 Calgary Signal Hill CPC safe hold
48013 Calgary Skyview CPC likely gain
48014 Edmonton Centre CPC likely gain
48015 Edmonton Griesbach Toss up CPC/NDP
48016 Edmonton Manning CPC likely hold
48017 Edmonton Mill Woods CPC safe hold
48018 Edmonton Riverbend CPC safe hold
48019 Edmonton Strathcona NDP safe hold
48020 Edmonton West CPC safe hold
48021 Edmonton–Wetaskiwin CPC safe hold
48022 Foothills CPC safe hold
48023 Fort McMurray–Cold Lake CPC safe hold
48024 Grande Prairie–Mackenzie CPC safe hold
48025 Lakeland CPC safe hold
48026 Lethbridge CPC safe hold
48027 Medicine Hat–Cardston–Warner CPC safe hold
48028 Peace River–Westlock CPC safe hold
48029 Red Deer–Mountain View CPC safe hold
48030 Red Deer–Lacombe CPC safe hold
48031 St. Albert–Edmonton CPC safe hold
48032 Sherwood Park–Fort Saskatchewan CPC safe hold
48033 Sturgeon River–Parkland CPC safe hold
48034 Yellowhead CPC safe hold
59001 Abbotsford CPC safe hold
59002 Burnaby North–Seymour Toss up LPC/CPC
59003 Burnaby South NDP leaning hold
59004 Cariboo–Prince George CPC safe hold
59005 Central Okanagan–Similkameen–Nicola CPC safe hold
59006 Chilliwack–Hope CPC safe hold
59007 Cloverdale–Langley City CPC likely gain
59008 Coquitlam–Port Coquitlam CPC likely gain
59009 Courtenay–Alberni CPC leaning gain
59010 Cowichan–Malahat–Langford Toss up CPC/NDP
59011 Delta CPC likely gain
59012 Fleetwood–Port Kells CPC leaning gain
59013 Kamloops–Thompson–Cariboo CPC safe hold
59014 Kelowna–Lake Country CPC safe hold
59015 Kootenay–Columbia CPC safe hold
59016 Langley–Aldergrove CPC safe hold
59017 Mission–Matsqui–Fraser Canyon CPC safe hold
59018 Nanaimo–Ladysmith CPC likely gain
59019 New Westminster–Burnaby NDP safe hold
59020 North Okanagan–Shuswap CPC safe hold
59021 North Vancouver Toss up LPC/CPC
59022 Pitt Meadows–Maple Ridge CPC safe hold
59023 Port Moody–Coquitlam CPC likely gain
59024 Prince George–Peace River–Northern Rockies CPC safe hold
59025 Richmond Centre CPC likely gain
59026 Esquimalt–Saanich–Sooke NDP likely hold
59027 Saanich–Gulf Islands GPC safe hold
59028 Skeena–Bulkley Valley CPC likely gain
59029 South Okanagan–West Kootenay CPC likely gain
59030 South Surrey–White Rock CPC safe hold
59031 Steveston–Richmond East CPC leaning gain
59032 Surrey Centre LPC likely hold
59033 Surrey–Newton LPC safe hold
59034 Vancouver Centre LPC leaning hold
59035 Vancouver East NDP safe hold
59036 Vancouver Granville CPC leaning gain
59037 North Island–Powell River CPC likely gain
59038 Vancouver Kingsway NDP safe hold
59039 Vancouver Quadra Toss up LPC/CPC
59040 Vancouver South LPC likely hold
59041 Victoria NDP safe hold
59042 West Vancouver–Sunshine Coast–Sea to Sky Country CPC likely gain
60001 Yukon Toss up LPC/CPC/NDP
61001 Northwest Territories NDP leaning gain
62001 Nunavut NDP safe hold