Skip to content

Marginal seats

Labour target seats

The 105 seats where Labour came second at the 2024 general election, ranked by the swing needed to win them. It won 411 seats in 2024; 326 are needed for a majority.

Barnsley NorthBarnsley SouthBeckenham and PengeBethnal Green and StepneyBicester and WoodstockBirmingham EdgbastonBirmingham ErdingtonBirmingham Hall Green and MoseleyBirmingham Hodge Hill and Solihull NorthBirmingham LadywoodBirmingham Northfield#10 Birmingham Perry Barr: needs 0.68% swing from IndBirmingham Selly OakBirmingham YardleyBlackley and Middleton SouthBlackpool North and FleetwoodBlaydon and ConsettBlyth and AshingtonBolton South and WalkdenBrent EastBrent West#26 Bridgwater: needs 1.68% swing from Con#55 Bridlington and The Wolds: needs 3.64% swing from Con#60 Brigg and Immingham: needs 3.82% swing from ConBrighton Kemptown and Peacehaven#104 Brighton Pavilion: needs 13.65% swing from Grn#101 Bristol Central: needs 12.00% swing from GrnBristol North EastBristol North WestBristol South#11 Broadland and Fakenham: needs 0.73% swing from Con#8 Bromley and Biggin Hill: needs 0.33% swing from Con#44 Bromsgrove: needs 2.99% swing from Con#48 Broxbourne: needs 3.33% swing from ConBroxtoweBuckingham and BletchleyBurnleyBurton and UttoxeterBury NorthBury SouthBury St Edmunds and StowmarketCalder ValleyCamborne and RedruthCambridgeCannock ChaseCanterburyCarlisleCarshalton and WallingtonCastle Point#2 Central Devon: needs 0.06% swing from Con#63 Central Suffolk and North Ipswich: needs 4.62% swing from ConChatham and AylesfordCheadleChelmsfordChelsea and FulhamCheltenhamChesham and AmershamChester North and Neston#43 Chester South and Eddisbury: needs 2.91% swing from ConChesterfieldChichester#67 Chingford and Woodford Green: needs 4.91% swing from ConChippenhamChipping BarnetChorleyChristchurchCities of London and WestminsterCity of DurhamClactonClapham and Brixton HillColchesterColne ValleyCongletonCorby and East NorthamptonshireCoventry EastCoventry North WestCoventry SouthCramlington and KillingworthCrawleyCrewe and NantwichCroydon East#36 Croydon South: needs 2.34% swing from ConCroydon WestDagenham and RainhamDarlingtonDartford#42 Daventry: needs 2.84% swing from ConDerby NorthDerby SouthDerbyshire Dales#96 Dewsbury and Batley: needs 9.11% swing from IndDidcot and WantageDoncaster CentralDoncaster East and the Isle of AxholmeDoncaster NorthDorking and HorleyDover and Deal#95 Droitwich and Evesham: needs 9.07% swing from ConDudleyDulwich and West NorwoodDunstable and Leighton BuzzardEaling Central and ActonEaling NorthEaling SouthallEarley and WoodleyEasingtonEast Grinstead and UckfieldEast HamEast Hampshire#90 East Surrey: needs 7.57% swing from ConEast Thanet#70 East Wiltshire: needs 5.00% swing from ConEast Worthing and ShorehamEastbourneEastleighEdmonton and Winchmore HillEllesmere Port and BromboroughEltham and ChislehurstEly and East CambridgeshireEnfield North#83 Epping Forest: needs 6.81% swing from ConEpsom and EwellErewashErith and ThamesmeadEsher and WaltonExeter#4 Exmouth and Exeter East: needs 0.12% swing from Con#80 Fareham and Waterlooville: needs 6.07% swing from ConFarnham and Bordon#24 Faversham and Mid Kent: needs 1.58% swing from ConFeltham and HestonFilton and Bradley StokeFinchley and Golders GreenFolkestone and HytheForest of DeanFrome and East Somerset#9 Fylde: needs 0.59% swing from Con#58 Gainsborough: needs 3.79% swing from ConGateshead Central and WhickhamGedlingGillingham and RainhamGlastonbury and SomertonGloucesterGodalming and Ash#54 Goole and Pocklington: needs 3.59% swing from ConGorton and Denton#84 Gosport: needs 6.84% swing from Con#66 Grantham and Bourne: needs 4.88% swing from ConGraveshamGreat Grimsby and Cleethorpes#28 Great Yarmouth: needs 1.75% swing from RefGreenwich and WoolwichGuildfordHackney North and Stoke NewingtonHackney South and ShoreditchHalesowenHalifaxHamble ValleyHammersmith and ChiswickHampstead and Highgate#37 Harborough, Oadby and Wigston: needs 2.36% swing from ConHarlowHarpenden and BerkhamstedHarrogate and Knaresborough#102 Harrow East: needs 12.23% swing from ConHarrow WestHartlepool#18 Harwich and North Essex: needs 1.21% swing from ConHastings and Rye#3 Havant: needs 0.11% swing from ConHayes and Harlington#87 Hazel Grove: needs 7.07% swing from LDHemel HempsteadHendonHenley and Thame#21 Hereford and South Herefordshire: needs 1.41% swing from Con#39 Herne Bay and Sandwich: needs 2.56% swing from ConHertford and Stortford#94 Hertsmere: needs 8.33% swing from ConHexhamHeywood and Middleton NorthHigh PeakHinckley and BosworthHitchinHolborn and St PancrasHoniton and SidmouthHornchurch and UpminsterHornsey and Friern BarnetHorshamHoughton and Sunderland SouthHove and PortsladeHuddersfield#22 Huntingdon: needs 1.44% swing from ConHyndburnIlford NorthIlford SouthIpswichIsle of Wight EastIsle of Wight West#89 Islington North: needs 7.40% swing from IndIslington South and FinsburyJarrow and Gateshead East#29 Keighley and Ilkley: needs 1.76% swing from Con#81 Kenilworth and Southam: needs 6.17% swing from ConKensington and BayswaterKetteringKingston and SurbitonKingston upon Hull EastKingston upon Hull North and CottinghamKingston upon Hull West and Haltemprice#86 Kingswinford and South Staffordshire: needs 6.98% swing from ConKnowsleyLancaster and WyreLeeds Central and HeadingleyLeeds EastLeeds North EastLeeds North WestLeeds South West and MorleyLeeds SouthLeeds West and Pudsey#65 Leicester East: needs 4.74% swing from Con#17 Leicester South: needs 1.17% swing from IndLeicester WestLeigh and AthertonLewesLewisham EastLewisham NorthLewisham West and East DulwichLeyton and WansteadLichfieldLincolnLiverpool GarstonLiverpool RiversideLiverpool WaltonLiverpool WavertreeLiverpool West DerbyLoughboroughLouth and HorncastleLowestoftLuton NorthLuton South and South BedfordshireMacclesfieldMaidenhead#30 Maidstone and Malling: needs 1.81% swing from ConMakerfieldMaldonManchester CentralManchester RusholmeManchester WithingtonMansfieldMelksham and Devizes#78 Melton and Syston: needs 5.87% swing from Con#72 Meriden and Solihull East: needs 5.21% swing from Con#19 Mid Bedfordshire: needs 1.33% swing from ConMid BuckinghamshireMid CheshireMid DerbyshireMid Dorset and North Poole#35 Mid Leicestershire: needs 2.29% swing from Con#49 Mid Norfolk: needs 3.33% swing from ConMid SussexMiddlesbrough and Thornaby EastMiddlesbrough South and East ClevelandMilton Keynes CentralMilton Keynes NorthMitcham and MordenMorecambe and Lunesdale#97 New Forest East: needs 9.39% swing from Con#79 New Forest West: needs 6.05% swing from Con#50 Newark: needs 3.34% swing from ConNewburyNewcastle upon Tyne Central and WestNewcastle upon Tyne East and WallsendNewcastle upon Tyne NorthNewcastle-under-LymeNewton AbbotNewton Aycliffe and SpennymoorNormanton and Hemsworth#74 North Bedfordshire: needs 5.25% swing from ConNorth CornwallNorth CotswoldsNorth DevonNorth DorsetNorth DurhamNorth East CambridgeshireNorth East DerbyshireNorth East HampshireNorth East HertfordshireNorth East Somerset and HanhamNorth HerefordshireNorth NorfolkNorth NorthumberlandNorth ShropshireNorth SomersetNorth Warwickshire and BedworthNorth West Cambridgeshire#38 North West Essex: needs 2.40% swing from Con#47 North West Hampshire: needs 3.24% swing from ConNorth West Leicestershire#77 North West Norfolk: needs 5.56% swing from ConNorthampton NorthNorthampton SouthNorwich NorthNorwich SouthNottingham EastNottingham North and KimberleyNottingham SouthNuneaton#56 Old Bexley and Sidcup: needs 3.73% swing from ConOldham East and SaddleworthOldham West, Chadderton and Royton#76 Orpington: needs 5.56% swing from ConOssett and Denby DaleOxford EastOxford West and AbingdonPeckhamPendle and ClitheroePenistone and StocksbridgePenrith and SolwayPeterboroughPlymouth Moor ViewPlymouth Sutton and DevonportPontefract, Castleford and KnottingleyPoolePoplar and LimehousePortsmouth NorthPortsmouth SouthPrestonPutneyQueen's Park and Maida ValeRawmarsh and ConisbroughRayleigh and WickfordReading CentralReading West and Mid BerkshireRedcarRedditch#45 Reigate: needs 3.00% swing from ConRibble Valley#103 Richmond and Northallerton: needs 12.56% swing from ConRichmond ParkRochdaleRochester and Strood#25 Romford: needs 1.66% swing from ConRomsey and Southampton NorthRossendale and DarwenRother ValleyRotherhamRugby#92 Ruislip, Northwood and Pinner: needs 8.05% swing from ConRuncorn and HelsbyRunnymede and WeybridgeRushcliffe#98 Rutland and Stamford: needs 10.70% swing from ConSalford#59 Salisbury: needs 3.80% swing from ConScarborough and WhitbyScunthorpeSefton CentralSelbySevenoaksSheffield Brightside and HillsboroughSheffield CentralSheffield HallamSheffield HeeleySheffield South EastSherwood ForestShipleyShrewsburySittingbourne and Sheppey#23 Skipton and Ripon: needs 1.55% swing from Con#62 Sleaford and North Hykeham: needs 4.48% swing from ConSloughSmethwick#68 Solihull West and Shirley: needs 4.93% swing from Con#5 South Basildon and East Thurrock: needs 0.13% swing from RefSouth CambridgeshireSouth CotswoldsSouth DerbyshireSouth DevonSouth DorsetSouth East CornwallSouth Holland and The Deepings#75 South Leicestershire: needs 5.36% swing from ConSouth Norfolk#51 South Northamptonshire: needs 3.44% swing from ConSouth RibbleSouth ShieldsSouth Shropshire#46 South Suffolk: needs 3.12% swing from Con#32 South West Devon: needs 2.02% swing from ConSouth West HertfordshireSouth West Norfolk#52 South West Wiltshire: needs 3.51% swing from ConSouthampton ItchenSouthampton TestSouthend East and RochfordSouthend West and LeighSouthgate and Wood GreenSouthport#27 Spelthorne: needs 1.72% swing from ConSpen ValleySt AlbansSt Austell and NewquaySt Helens NorthSt Helens South and WhistonSt IvesSt Neots and Mid CambridgeshireStafford#20 Staffordshire Moorlands: needs 1.36% swing from ConStalybridge and HydeStevenageStockportStockton North#34 Stockton West: needs 2.20% swing from ConStoke-on-Trent CentralStoke-on-Trent NorthStoke-on-Trent South#82 Stone, Great Wyrley and Penkridge: needs 6.39% swing from ConStourbridgeStratford and BowStratford-on-AvonStreatham and Croydon NorthStretford and UrmstonStroudSuffolk CoastalSunderland CentralSurrey HeathSussex WealdSutton and Cheam#40 Sutton Coldfield: needs 2.63% swing from ConSwindon NorthSwindon SouthTamworth#16 Tatton: needs 1.10% swing from ConTaunton and WellingtonTelfordTewkesbury#13 The Wrekin: needs 0.89% swing from Con#91 Thirsk and Malton: needs 7.58% swing from ConThornbury and YateThurrockTipton and WednesburyTiverton and Minehead#99 Tonbridge: needs 11.10% swing from ConTootingTorbayTorridge and TavistockTottenhamTruro and FalmouthTunbridge WellsTwickenhamTynemouthUxbridge and South RuislipVauxhall and Camberwell GreenWakefield and RothwellWallaseyWalsall and BloxwichWalthamstowWarrington NorthWarrington SouthWarwick and LeamingtonWashington and Gateshead SouthWatfordWaveney Valley#93 Weald of Kent: needs 8.31% swing from ConWellingborough and RushdenWells and Mendip HillsWelwyn HatfieldWest BromwichWest DorsetWest Ham and BecktonWest Lancashire#53 West Suffolk: needs 3.52% swing from ConWest WorcestershireWestmorland and LonsdaleWeston-super-Mare#64 Wetherby and Easingwold: needs 4.64% swing from ConWhitehaven and WorkingtonWidnes and HalewoodWiganWimbledonWinchester#88 Windsor: needs 7.14% swing from ConWirral West#71 Witham: needs 5.09% swing from ConWitneyWokingWokinghamWolverhampton North EastWolverhampton South EastWolverhampton WestWorcesterWorsley and EcclesWorthing WestWycombe#14 Wyre Forest: needs 0.90% swing from ConWythenshawe and Sale EastYeovilYork CentralYork OuterEast AntrimSouth AntrimLagan ValleyUpper BannBelfast NorthEast LondonderryWest TyroneFoyleNorth AntrimMid UlsterFermanagh and South TyroneSouth DownNorth DownStrangfordBelfast EastBelfast WestBelfast South and Mid DownNewry and ArmaghBerwickshire, Roxburgh and Selkirk#15 Arbroath and Broughty Ferry: needs 0.98% swing from SNPDunfermline and DollarAirdrie and ShottsEast Kilbride and StrathavenEast RenfrewshireEdinburgh East and MusselburghEdinburgh North and LeithEdinburgh South WestAlloa and GrangemouthGlasgow South WestInverclyde and Renfrewshire WestKilmarnock and LoudounLivingstonMidlothianMotherwell, Wishaw and CarlukePaisley and Renfrewshire SouthAngus and Perthshire GlensStirling and StrathallanWest DunbartonshireMoray West, Nairn and StrathspeyArgyll, Bute and South LochaberWest Aberdeenshire and KincardineGordon and BuchanCowdenbeath and Kirkcaldy#61 Aberdeen South: needs 4.06% swing from SNPEdinburgh WestLothian EastAyr, Carrick and CumnockCentral AyrshireOrkney and ShetlandNa h-Eileanan an IarNorth Ayrshire and ArranPerth and Kinross-shire#12 Dundee Central: needs 0.87% swing from SNPFalkirkBathgate and LinlithgowInverness, Skye and West Ross-shireEdinburgh SouthDumfries and GallowayPaisley and Renfrewshire NorthAberdeenshire North and Moray EastCaithness, Sutherland and Easter RossGlasgow EastMid DunbartonshireGlasgow NorthGlasgow SouthGlasgow WestCumbernauld and KirkintillochCoatbridge and BellshillHamilton and Clyde ValleyRutherglenGlasgow North East#33 Aberdeen North: needs 2.09% swing from SNPDumfriesshire, Clydesdale and TweeddaleNorth East FifeGlenrothes and Mid FifeAberafan MaestegAlyn and DeesideBangor AberconwyBlaenau Gwent and RhymneyBrecon, Radnor and Cwm TaweBridgend#69 Caerfyrddin: needs 4.97% swing from PCCaerphillyCardiff EastCardiff NorthCardiff South and PenarthCardiff WestCeredigion PreseliClwyd EastClwyd North#105 Dwyfor Meirionnydd: needs 19.65% swing from PCGowerLlanelliMerthyr Tydfil and AberdareMid and South PembrokeshireMonmouthshireMontgomeryshire and GlyndŵrNeath and Swansea EastNewport EastNewport West and IslwynPontypriddRhondda and OgmoreSwansea WestTorfaenVale of GlamorganWrexhamYnys MônAldershot#73 Aldridge-Brownhills: needs 5.25% swing from ConAltrincham and Sale WestAmber ValleyArundel and South Downs#85 Ashfield: needs 6.91% swing from RefAshfordAshton-under-LyneAylesburyBanburyBarkingBarrow and Furness#1 Basildon and Billericay: needs 0.03% swing from ConBasingstokeBassetlaw#100 Bath: needs 11.66% swing from LDBatterseaBeaconsfieldBedfordBermondsey and Old Southwark#6 Beverley and Holderness: needs 0.14% swing from Con#41 Bexhill and Battle: needs 2.78% swing from ConBexleyheath and CrayfordBirkenheadBishop Auckland#7 Blackburn: needs 0.17% swing from IndBlackpool South#31 Bognor Regis and Littlehampton: needs 1.85% swing from ConBolsoverBolton North EastBolton WestBootleBoston and SkegnessBournemouth EastBournemouth WestBracknellBradford EastBradford SouthBradford West#57 Braintree: needs 3.75% swing from ConBrentford and IsleworthBrentwood and OngarBristol East
Seats where Labour came second; paler = smaller majority, so an easier target.

Targets in order

Download CSV
#ConstituencyHeld byMajoritySwing neededSeats if won
1Basildon and BillericayCon200.03%412
2Central DevonCon610.06%413
3HavantCon920.11%414
4Exmouth and Exeter EastCon1210.12%415
5South Basildon and East ThurrockRef980.13%416
6Beverley and HoldernessCon1240.14%417
7BlackburnInd1320.17%418
8Bromley and Biggin HillCon3020.33%419
9FyldeCon5610.59%420
10Birmingham Perry BarrInd5070.68%421
11Broadland and FakenhamCon7190.73%422
12Dundee CentralSNP6750.87%423
13The WrekinCon8830.89%424
14Wyre ForestCon8120.90%425
15Arbroath and Broughty FerrySNP8590.98%426
16TattonCon1,1361.10%427
17Leicester SouthInd9791.17%428
18Harwich and North EssexCon1,1621.21%429
19Mid BedfordshireCon1,3211.33%430
20Staffordshire MoorlandsCon1,1751.36%431
21Hereford and South HerefordshireCon1,2791.41%432
22HuntingdonCon1,4991.44%433
23Skipton and RiponCon1,6501.55%434
24Faversham and Mid KentCon1,4691.58%435
25RomfordCon1,4631.66%436
26BridgwaterCon1,3491.68%437
27SpelthorneCon1,5901.72%438
28Great YarmouthRef1,4261.75%439
29Keighley and IlkleyCon1,6251.76%440
30Maidstone and MallingCon1,6741.81%441
31Bognor Regis and LittlehamptonCon1,7651.85%442
32South West DevonCon2,1122.02%443
33Aberdeen NorthSNP1,7602.09%444
34Stockton WestCon2,1392.20%445
35Mid LeicestershireCon2,2012.29%446
36Croydon SouthCon2,3132.34%447
37Harborough, Oadby and WigstonCon2,3782.36%448
38North West EssexCon2,6102.40%449
39Herne Bay and SandwichCon2,4992.56%450
40Sutton ColdfieldCon2,5432.63%451
41Bexhill and BattleCon2,6572.78%452
42DaventryCon3,0122.84%453
43Chester South and EddisburyCon3,0572.91%454
44BromsgroveCon3,0162.99%455
45ReigateCon3,1873.00%456
46South SuffolkCon3,0473.12%457
47North West HampshireCon3,2883.24%458
48BroxbourneCon2,8583.33%459
49Mid NorfolkCon3,0543.33%460
50NewarkCon3,5723.34%461
51South NorthamptonshireCon3,6873.44%462
52South West WiltshireCon3,2433.51%463
53West SuffolkCon3,2473.52%464
54Goole and PocklingtonCon3,5723.59%465
55Bridlington and The WoldsCon3,1253.64%466
56Old Bexley and SidcupCon3,5483.73%467
57BraintreeCon3,6703.75%468
58GainsboroughCon3,5323.79%469
59SalisburyCon3,8073.80%470
60Brigg and ImminghamCon3,2433.82%471
61Aberdeen SouthSNP3,7584.06%472
62Sleaford and North HykehamCon4,3464.48%473
63Central Suffolk and North IpswichCon4,2904.62%474
64Wetherby and EasingwoldCon4,8464.64%475
65Leicester EastCon4,4264.74%476
66Grantham and BourneCon4,4964.88%477
67Chingford and Woodford GreenCon4,7574.91%478
68Solihull West and ShirleyCon4,6204.93%479
69CaerfyrddinPC4,5354.97%480
70East WiltshireCon4,7165.00%481
71WithamCon5,1455.09%482
72Meriden and Solihull EastCon4,5845.21%483
73Aldridge-BrownhillsCon4,2945.25%484
74North BedfordshireCon5,4145.25%485
75South LeicestershireCon5,5065.36%486
76OrpingtonCon5,1185.56%487
77North West NorfolkCon4,9545.56%488
78Melton and SystonCon5,3965.87%489
79New Forest WestCon5,6006.05%490
80Fareham and WaterloovilleCon6,0796.07%491
81Kenilworth and SouthamCon6,5746.17%492
82Stone, Great Wyrley and PenkridgeCon5,4666.39%493
83Epping ForestCon5,6826.81%494
84GosportCon6,0546.84%495
85AshfieldRef5,5086.91%496
86Kingswinford and South StaffordshireCon6,3036.98%497
87Hazel GroveLD6,5007.07%498
88WindsorCon6,4577.14%499
89Islington NorthInd7,2477.40%500
90East SurreyCon7,4507.57%501
91Thirsk and MaltonCon7,5507.58%502
92Ruislip, Northwood and PinnerCon7,5818.05%503
93Weald of KentCon8,4228.31%504
94HertsmereCon7,9928.33%505
95Droitwich and EveshamCon8,9959.07%506
96Dewsbury and BatleyInd6,9349.11%507
97New Forest EastCon8,4959.39%508
98Rutland and StamfordCon10,39410.70%509
99TonbridgeCon11,16611.10%510
100BathLD11,21811.66%511
101Bristol CentralGrn10,40712.00%512
102Harrow EastCon11,68012.23%513
103Richmond and NorthallertonCon12,18512.56%514
104Brighton PavilionGrn14,29013.65%515
105Dwyfor MeirionnyddPC15,87619.65%516

"Seats if won" adds each target in order to the seats the party already holds, ignoring seats it might lose.

Official results UK Parliament election results data (House of Commons Library). Contains Parliamentary information licensed under the Open Parliament Licence v3.0. How we use this data