Skip to content

2015 vs 2017 general election: what changed

How vote shares and seats changed between the 2015 and 2017 UK general elections, nationally and in every nation and region, plus every constituency. Conservative–Labour swing: 2.0 points to Labour.

Con–Lab swing
2.0 ptsto Labour
2015
Con 330largest party
2017
Con 317largest party
United Kingdom
PartyShare 2015Share 2017ChangeSeats 2015Seats 2017Change
Conservative36.8%42.3%+5.5330317−13
Labour30.5%40.0%+9.5232262+30
Scottish National Party4.7%3.0%−1.75635−21
Liberal Democrats7.9%7.4%−0.5812+4
Democratic Unionist Party0.6%0.9%+0.3810+2
Sinn Féin0.6%0.7%+0.247+3
Plaid Cymru0.6%0.5%−0.134+1
Green3.8%1.6%−2.1110
Independent0.3%0.5%+0.1110
Speaker0.1%0.1%0110
UK Independence Party12.6%1.8%−10.810−1
Social Democratic and Labour Party0.3%0.3%030−3
Ulster Unionist Party0.4%0.3%−0.120−2

Nations and regions

RegionTop party 2015Top party 2017Con–Lab swingSeats
EnglandCon 318Con 2962.9 pts to Lab533 → 533
ScotlandSNP 56SNP 355.5 pts to Con59 → 59
WalesLab 25Lab 282.9 pts to Lab40 → 40
Northern IrelandDUP 8DUP 100.4 pts to Lab18 → 18
North EastLab 26Lab 260.3 pts to Con29 → 29
North WestLab 51Lab 542.6 pts to Lab75 → 75
Yorkshire and the HumberLab 33Lab 371.0 pts to Lab54 → 54
East MidlandsCon 32Con 310.8 pts to Lab46 → 46
West MidlandsCon 34Con 351.1 pts to Lab59 → 59
East of EnglandCon 52Con 502.6 pts to Lab58 → 58
LondonLab 45Lab 496.3 pts to Lab73 → 73
South EastCon 78Con 723.7 pts to Lab84 → 84
South WestCon 51Con 473.3 pts to Lab55 → 55

Seat by seat: 70 changed hands

Download CSV
Aldershot: Con → ConAldridge-Brownhills: Con → ConAltrincham and Sale West: Con → ConAmber Valley: Con → ConArundel and South Downs: Con → ConAshfield: Lab → LabAshford: Con → ConAshton-under-Lyne: Lab → LabAylesbury: Con → ConBanbury: Con → ConBarking: Lab → LabBarnsley Central: Lab → LabBarnsley East: Lab → LabBarrow and Furness: Lab → LabBasildon and Billericay: Con → ConBasingstoke: Con → ConBassetlaw: Lab → LabBath: Con → LDBatley and Spen: Lab → LabBattersea: Con → LabBeaconsfield: Con → ConBeckenham: Con → ConBedford: Con → LabBermondsey and Old Southwark: Lab → LabBerwick-upon-Tweed: Con → ConBethnal Green and Bow: Lab → LabBeverley and Holderness: Con → ConBexhill and Battle: Con → ConBexleyheath and Crayford: Con → ConBirkenhead: Lab → LabBirmingham, Edgbaston: Lab → LabBirmingham, Erdington: Lab → LabBirmingham, Hall Green: Lab → LabBirmingham, Hodge Hill: Lab → LabBirmingham, Ladywood: Lab → LabBirmingham, Northfield: Lab → LabBirmingham, Perry Barr: Lab → LabBirmingham, Selly Oak: Lab → LabBirmingham, Yardley: Lab → LabBishop Auckland: Lab → LabBlackburn: Lab → LabBlackley and Broughton: Lab → LabBlackpool North and Cleveleys: Con → ConBlackpool South: Lab → LabBlaydon: Lab → LabBlyth Valley: Lab → LabBognor Regis and Littlehampton: Con → ConBolsover: Lab → LabBolton North East: Lab → LabBolton South East: Lab → LabBolton West: Con → ConBootle: Lab → LabBoston and Skegness: Con → ConBosworth: Con → ConBournemouth East: Con → ConBournemouth West: Con → ConBracknell: Con → ConBradford East: Lab → LabBradford South: Lab → LabBradford West: Lab → LabBraintree: Con → ConBrent Central: Lab → LabBrent North: Lab → LabBrentford and Isleworth: Lab → LabBrentwood and Ongar: Con → ConBridgwater and West Somerset: Con → ConBrigg and Goole: Con → ConBrighton, Kemptown: Con → LabBrighton, Pavilion: Grn → GrnBristol East: Lab → LabBristol North West: Con → LabBristol South: Lab → LabBristol West: Lab → LabBroadland: Con → ConBromley and Chislehurst: Con → ConBromsgrove: Con → ConBroxbourne: Con → ConBroxtowe: Con → ConBuckingham: Spk → SpkBurnley: Lab → LabBurton: Con → ConBury North: Con → LabBury South: Lab → LabBury St Edmunds: Con → ConCalder Valley: Con → ConCamberwell and Peckham: Lab → LabCamborne and Redruth: Con → ConCambridge: Lab → LabCannock Chase: Con → ConCanterbury: Con → LabCarlisle: Con → ConCarshalton and Wallington: LD → LDCastle Point: Con → ConCentral Devon: Con → ConCentral Suffolk and North Ipswich: Con → ConCharnwood: Con → ConChatham and Aylesford: Con → ConCheadle: Con → ConChelmsford: Con → ConChelsea and Fulham: Con → ConCheltenham: Con → ConChesham and Amersham: Con → ConChesterfield: Lab → LabChichester: Con → ConChingford and Woodford Green: Con → ConChippenham: Con → ConChipping Barnet: Con → ConChorley: Lab → LabChristchurch: Con → ConCities of London and Westminster: Con → ConCity of Chester: Lab → LabCity of Durham: Lab → LabClacton: UKIP → ConCleethorpes: Con → ConColchester: Con → ConColne Valley: Con → LabCongleton: Con → ConCopeland: Lab → ConCorby: Con → ConCoventry North East: Lab → LabCoventry North West: Lab → LabCoventry South: Lab → LabCrawley: Con → ConCrewe and Nantwich: Con → LabCroydon Central: Con → LabCroydon North: Lab → LabCroydon South: Con → ConDagenham and Rainham: Lab → LabDarlington: Lab → LabDartford: Con → ConDaventry: Con → ConDenton and Reddish: Lab → LabDerby North: Con → LabDerby South: Lab → LabDerbyshire Dales: Con → ConDevizes: Con → ConDewsbury: Lab → LabDon Valley: Lab → LabDoncaster Central: Lab → LabDoncaster North: Lab → LabDover: Con → ConDudley North: Lab → LabDudley South: Con → ConDulwich and West Norwood: Lab → LabEaling Central and Acton: Lab → LabEaling North: Lab → LabEaling, Southall: Lab → LabEasington: Lab → LabEast Devon: Con → ConEast Ham: Lab → LabEast Hampshire: Con → ConEast Surrey: Con → ConEast Worthing and Shoreham: Con → ConEast Yorkshire: Con → ConEastbourne: Con → LDEastleigh: Con → ConEddisbury: Con → ConEdmonton: Lab → LabEllesmere Port and Neston: Lab → LabElmet and Rothwell: Con → ConEltham: Lab → LabEnfield North: Lab → LabEnfield, Southgate: Con → LabEpping Forest: Con → ConEpsom and Ewell: Con → ConErewash: Con → ConErith and Thamesmead: Lab → LabEsher and Walton: Con → ConExeter: Lab → LabFareham: Con → ConFaversham and Mid Kent: Con → ConFeltham and Heston: Lab → LabFilton and Bradley Stoke: Con → ConFinchley and Golders Green: Con → ConFolkestone and Hythe: Con → ConForest of Dean: Con → ConFylde: Con → ConGainsborough: Con → ConGarston and Halewood: Lab → LabGateshead: Lab → LabGedling: Lab → LabGillingham and Rainham: Con → ConGloucester: Con → ConGosport: Con → ConGrantham and Stamford: Con → ConGravesham: Con → ConGreat Grimsby: Lab → LabGreat Yarmouth: Con → ConGreenwich and Woolwich: Lab → LabGuildford: Con → ConHackney North and Stoke Newington: Lab → LabHackney South and Shoreditch: Lab → LabHalesowen and Rowley Regis: Con → ConHalifax: Lab → LabHaltemprice and Howden: Con → ConHalton: Lab → LabHammersmith: Lab → LabHampstead and Kilburn: Lab → LabHarborough: Con → ConHarlow: Con → ConHarrogate and Knaresborough: Con → ConHarrow East: Con → ConHarrow West: Lab → LabHartlepool: Lab → LabHarwich and North Essex: Con → ConHastings and Rye: Con → ConHavant: Con → ConHayes and Harlington: Lab → LabHazel Grove: Con → ConHemel Hempstead: Con → ConHemsworth: Lab → LabHendon: Con → ConHenley: Con → ConHereford and South Herefordshire: Con → ConHertford and Stortford: Con → ConHertsmere: Con → ConHexham: Con → ConHeywood and Middleton: Lab → LabHigh Peak: Con → LabHitchin and Harpenden: Con → ConHolborn and St Pancras: Lab → LabHornchurch and Upminster: Con → ConHornsey and Wood Green: Lab → LabHorsham: Con → ConHoughton and Sunderland South: Lab → LabHove: Lab → LabHuddersfield: Lab → LabHuntingdon: Con → ConHyndburn: Lab → LabIlford North: Lab → LabIlford South: Lab → LabIpswich: Con → LabIsle of Wight: Con → ConIslington North: Lab → LabIslington South and Finsbury: Lab → LabJarrow: Lab → LabKeighley: Con → LabKenilworth and Southam: Con → ConKensington: Con → LabKettering: Con → ConKingston and Surbiton: Con → LDKingston upon Hull East: Lab → LabKingston upon Hull North: Lab → LabKingston upon Hull West and Hessle: Lab → LabKingswood: Con → ConKnowsley: Lab → LabLancaster and Fleetwood: Lab → LabLeeds Central: Lab → LabLeeds East: Lab → LabLeeds North East: Lab → LabLeeds North West: LD → LabLeeds West: Lab → LabLeicester East: Lab → LabLeicester South: Lab → LabLeicester West: Lab → LabLeigh: Lab → LabLewes: Con → ConLewisham East: Lab → LabLewisham West and Penge: Lab → LabLewisham, Deptford: Lab → LabLeyton and Wanstead: Lab → LabLichfield: Con → ConLincoln: Con → LabLiverpool, Riverside: Lab → LabLiverpool, Walton: Lab → LabLiverpool, Wavertree: Lab → LabLiverpool, West Derby: Lab → LabLoughborough: Con → ConLouth and Horncastle: Con → ConLudlow: Con → ConLuton North: Lab → LabLuton South: Lab → LabMacclesfield: Con → ConMaidenhead: Con → ConMaidstone and The Weald: Con → ConMakerfield: Lab → LabMaldon: Con → ConManchester Central: Lab → LabManchester, Gorton: Lab → LabManchester, Withington: Lab → LabMansfield: Lab → ConMeon Valley: Con → ConMeriden: Con → ConMid Bedfordshire: Con → ConMid Derbyshire: Con → ConMid Dorset and North Poole: Con → ConMid Norfolk: Con → ConMid Sussex: Con → ConMid Worcestershire: Con → ConMiddlesbrough: Lab → LabMiddlesbrough South and East Cleveland: Lab → ConMilton Keynes North: Con → ConMilton Keynes South: Con → ConMitcham and Morden: Lab → LabMole Valley: Con → ConMorecambe and Lunesdale: Con → ConMorley and Outwood: Con → ConNew Forest East: Con → ConNew Forest West: Con → ConNewark: Con → ConNewbury: Con → ConNewcastle upon Tyne Central: Lab → LabNewcastle upon Tyne East: Lab → LabNewcastle upon Tyne North: Lab → LabNewcastle-under-Lyme: Lab → LabNewton Abbot: Con → ConNormanton, Pontefract and Castleford: Lab → LabNorth Cornwall: Con → ConNorth Devon: Con → ConNorth Dorset: Con → ConNorth Durham: Lab → LabNorth East Bedfordshire: Con → ConNorth East Cambridgeshire: Con → ConNorth East Derbyshire: Lab → ConNorth East Hampshire: Con → ConNorth East Hertfordshire: Con → ConNorth East Somerset: Con → ConNorth Herefordshire: Con → ConNorth Norfolk: LD → LDNorth Shropshire: Con → ConNorth Somerset: Con → ConNorth Swindon: Con → ConNorth Thanet: Con → ConNorth Tyneside: Lab → LabNorth Warwickshire: Con → ConNorth West Cambridgeshire: Con → ConNorth West Durham: Lab → LabNorth West Hampshire: Con → ConNorth West Leicestershire: Con → ConNorth West Norfolk: Con → ConNorth Wiltshire: Con → ConNorthampton North: Con → ConNorthampton South: Con → ConNorwich North: Con → ConNorwich South: Lab → LabNottingham East: Lab → LabNottingham North: Lab → LabNottingham South: Lab → LabNuneaton: Con → ConOld Bexley and Sidcup: Con → ConOldham East and Saddleworth: Lab → LabOldham West and Royton: Lab → LabOrpington: Con → ConOxford East: Lab → LabOxford West and Abingdon: Con → LDPendle: Con → ConPenistone and Stocksbridge: Lab → LabPenrith and The Border: Con → ConPeterborough: Con → LabPlymouth, Moor View: Con → ConPlymouth, Sutton and Devonport: Con → LabPoole: Con → ConPoplar and Limehouse: Lab → LabPortsmouth North: Con → ConPortsmouth South: Con → LabPreston: Lab → LabPudsey: Con → ConPutney: Con → ConRayleigh and Wickford: Con → ConReading East: Con → LabReading West: Con → ConRedcar: Lab → LabRedditch: Con → ConReigate: Con → ConRibble Valley: Con → ConRichmond (Yorks): Con → ConRichmond Park: Con → ConRochdale: Lab → LabRochester and Strood: Con → ConRochford and Southend East: Con → ConRomford: Con → ConRomsey and Southampton North: Con → ConRossendale and Darwen: Con → ConRother Valley: Lab → LabRotherham: Lab → LabRugby: Con → ConRuislip, Northwood and Pinner: Con → ConRunnymede and Weybridge: Con → ConRushcliffe: Con → ConRutland and Melton: Con → ConSaffron Walden: Con → ConSalford and Eccles: Lab → LabSalisbury: Con → ConScarborough and Whitby: Con → ConScunthorpe: Lab → LabSedgefield: Lab → LabSefton Central: Lab → LabSelby and Ainsty: Con → ConSevenoaks: Con → ConSheffield Central: Lab → LabSheffield South East: Lab → LabSheffield, Brightside and Hillsborough: Lab → LabSheffield, Hallam: LD → LabSheffield, Heeley: Lab → LabSherwood: Con → ConShipley: Con → ConShrewsbury and Atcham: Con → ConSittingbourne and Sheppey: Con → ConSkipton and Ripon: Con → ConSleaford and North Hykeham: Con → ConSlough: Lab → LabSolihull: Con → ConSomerton and Frome: Con → ConSouth Basildon and East Thurrock: Con → ConSouth Cambridgeshire: Con → ConSouth Derbyshire: Con → ConSouth Dorset: Con → ConSouth East Cambridgeshire: Con → ConSouth East Cornwall: Con → ConSouth Holland and The Deepings: Con → ConSouth Leicestershire: Con → ConSouth Norfolk: Con → ConSouth Northamptonshire: Con → ConSouth Ribble: Con → ConSouth Shields: Lab → LabSouth Staffordshire: Con → ConSouth Suffolk: Con → ConSouth Swindon: Con → ConSouth Thanet: Con → ConSouth West Bedfordshire: Con → ConSouth West Devon: Con → ConSouth West Hertfordshire: Con → ConSouth West Norfolk: Con → ConSouth West Surrey: Con → ConSouth West Wiltshire: Con → ConSouthampton, Itchen: Con → ConSouthampton, Test: Lab → LabSouthend West: Con → ConSouthport: LD → ConSpelthorne: Con → ConSt Albans: Con → ConSt Austell and Newquay: Con → ConSt Helens North: Lab → LabSt Helens South and Whiston: Lab → LabSt Ives: Con → ConStafford: Con → ConStaffordshire Moorlands: Con → ConStalybridge and Hyde: Lab → LabStevenage: Con → ConStockport: Lab → LabStockton North: Lab → LabStockton South: Con → LabStoke-on-Trent Central: Lab → LabStoke-on-Trent North: Lab → LabStoke-on-Trent South: Lab → ConStone: Con → ConStourbridge: Con → ConStratford-on-Avon: Con → ConStreatham: Lab → LabStretford and Urmston: Lab → LabStroud: Con → LabSuffolk Coastal: Con → ConSunderland Central: Lab → LabSurrey Heath: Con → ConSutton and Cheam: Con → ConSutton Coldfield: Con → ConTamworth: Con → ConTatton: Con → ConTaunton Deane: Con → ConTelford: Con → ConTewkesbury: Con → ConThe Cotswolds: Con → ConThe Wrekin: Con → ConThirsk and Malton: Con → ConThornbury and Yate: Con → ConThurrock: Con → ConTiverton and Honiton: Con → ConTonbridge and Malling: Con → ConTooting: Lab → LabTorbay: Con → ConTorridge and West Devon: Con → ConTotnes: Con → ConTottenham: Lab → LabTruro and Falmouth: Con → ConTunbridge Wells: Con → ConTwickenham: Con → LDTynemouth: Lab → LabUxbridge and South Ruislip: Con → ConVauxhall: Lab → LabWakefield: Lab → LabWallasey: Lab → LabWalsall North: Lab → ConWalsall South: Lab → LabWalthamstow: Lab → LabWansbeck: Lab → LabWantage: Con → ConWarley: Lab → LabWarrington North: Lab → LabWarrington South: Con → LabWarwick and Leamington: Con → LabWashington and Sunderland West: Lab → LabWatford: Con → ConWaveney: Con → ConWealden: Con → ConWeaver Vale: Con → LabWellingborough: Con → ConWells: Con → ConWelwyn Hatfield: Con → ConWentworth and Dearne: Lab → LabWest Bromwich East: Lab → LabWest Bromwich West: Lab → LabWest Dorset: Con → ConWest Ham: Lab → LabWest Lancashire: Lab → LabWest Suffolk: Con → ConWest Worcestershire: Con → ConWestminster North: Lab → LabWestmorland and Lonsdale: LD → LDWeston-Super-Mare: Con → ConWigan: Lab → LabWimbledon: Con → ConWinchester: Con → ConWindsor: Con → ConWirral South: Lab → LabWirral West: Lab → LabWitham: Con → ConWitney: Con → ConWoking: Con → ConWokingham: Con → ConWolverhampton North East: Lab → LabWolverhampton South East: Lab → LabWolverhampton South West: Lab → LabWorcester: Con → ConWorkington: Lab → LabWorsley and Eccles South: Lab → LabWorthing West: Con → ConWycombe: Con → ConWyre and Preston North: Con → ConWyre Forest: Con → ConWythenshawe and Sale East: Lab → LabYeovil: Con → ConYork Central: Lab → LabYork Outer: Con → ConBelfast East: DUP → DUPBelfast North: DUP → DUPBelfast South: SDLP → DUPBelfast West: SF → SFEast Antrim: DUP → DUPEast Londonderry: DUP → DUPFermanagh and South Tyrone: UUP → SFFoyle: SDLP → SFLagan Valley: DUP → DUPMid Ulster: SF → SFNewry and Armagh: SF → SFNorth Antrim: DUP → DUPNorth Down: Ind → IndSouth Antrim: UUP → DUPSouth Down: SDLP → SFStrangford: DUP → DUPUpper Bann: DUP → DUPWest Tyrone: SF → SFAberdeen North: SNP → SNPAberdeen South: SNP → ConAirdrie and Shotts: SNP → SNPAngus: SNP → ConArgyll and Bute: SNP → SNPAyr, Carrick and Cumnock: SNP → ConBanff and Buchan: SNP → ConBerwickshire, Roxburgh and Selkirk: SNP → ConCaithness, Sutherland and Easter Ross: SNP → LDCentral Ayrshire: SNP → SNPCoatbridge, Chryston and Bellshill: SNP → LabCumbernauld, Kilsyth and Kirkintilloch East: SNP → SNPDumfries and Galloway: SNP → ConDumfriesshire, Clydesdale and Tweeddale: Con → ConDundee East: SNP → SNPDundee West: SNP → SNPDunfermline and West Fife: SNP → SNPEast Dunbartonshire: SNP → LDEast Kilbride, Strathaven and Lesmahagow: SNP → SNPEast Lothian: SNP → LabEast Renfrewshire: SNP → ConEdinburgh East: SNP → SNPEdinburgh North and Leith: SNP → SNPEdinburgh South: Lab → LabEdinburgh South West: SNP → SNPEdinburgh West: SNP → LDNa h-Eileanan an Iar: SNP → SNPFalkirk: SNP → SNPGlasgow Central: SNP → SNPGlasgow East: SNP → SNPGlasgow North: SNP → SNPGlasgow North East: SNP → LabGlasgow North West: SNP → SNPGlasgow South: SNP → SNPGlasgow South West: SNP → SNPGlenrothes: SNP → SNPGordon: SNP → ConInverclyde: SNP → SNPInverness, Nairn, Badenoch and Strathspey: SNP → SNPKilmarnock and Loudoun: SNP → SNPKirkcaldy and Cowdenbeath: SNP → LabLanark and Hamilton East: SNP → SNPLinlithgow and East Falkirk: SNP → SNPLivingston: SNP → SNPMidlothian: SNP → LabMoray: SNP → ConMotherwell and Wishaw: SNP → SNPNorth Ayrshire and Arran: SNP → SNPNorth East Fife: SNP → SNPOchil and South Perthshire: SNP → ConOrkney and Shetland: LD → LDPaisley and Renfrewshire North: SNP → SNPPaisley and Renfrewshire South: SNP → SNPPerth and North Perthshire: SNP → SNPRoss, Skye and Lochaber: SNP → SNPRutherglen and Hamilton West: SNP → LabStirling: SNP → ConWest Aberdeenshire and Kincardine: SNP → ConWest Dunbartonshire: SNP → SNPYnys Môn: Lab → LabDelyn: Lab → LabAlyn and Deeside: Lab → LabWrexham: Lab → LabLlanelli: Lab → LabGower: Con → LabSwansea West: Lab → LabSwansea East: Lab → LabAberavon: Lab → LabCardiff Central: Lab → LabCardiff North: Con → LabRhondda: Lab → LabTorfaen: Lab → LabMonmouth: Con → ConNewport East: Lab → LabNewport West: Lab → LabArfon: PC → PCAberconwy: Con → ConClwyd West: Con → ConVale of Clwyd: Con → LabDwyfor Meirionnydd: PC → PCClwyd South: Lab → LabMontgomeryshire: Con → ConCeredigion: LD → PCPreseli Pembrokeshire: Con → ConCarmarthen West and South Pembrokeshire: Con → ConCarmarthen East and Dinefwr: PC → PCBrecon and Radnorshire: Con → ConNeath: Lab → LabCynon Valley: Lab → LabMerthyr Tydfil and Rhymney: Lab → LabBlaenau Gwent: Lab → LabBridgend: Lab → LabOgmore: Lab → LabPontypridd: Lab → LabCaerphilly: Lab → LabIslwyn: Lab → LabVale of Glamorgan: Con → ConCardiff West: Lab → LabCardiff South and Penarth: Lab → Lab
Coloured: seats that changed hands, in the colour of the new winner.

Constituency20152017Majority 2017Con–Lab swing
AberavonLabLab50.4%+6.7
AberconwyConCon2.0%+5.7
Aberdeen NorthSNPSNP11.3%−3.3
Aberdeen SouthSNPCon gain10.7%−12.8
Airdrie and ShottsSNPSNP0.5%−6.3
AldershotConCon23.4%+4.4
Aldridge-BrownhillsConCon35.6%−2.9
Altrincham and Sale WestConCon12.2%+7.1
Alyn and DeesideLabLab11.7%+1.8
Amber ValleyConCon18.1%−4.5
AngusSNPCon gain6.6%−6.0
ArfonPCPC0.3%+3.5
Argyll and ButeSNPSNP2.8%−8.1
Arundel and South DownsConCon39.6%+5.0
AshfieldLabLab0.9%−8.9
AshfordConCon29.2%+2.4
Ashton-under-LyneLabLab28.4%+0.4
AylesburyConCon24.9%+5.3
Ayr, Carrick and CumnockSNPCon gain6.0%−11.9
BanburyConCon20.1%+5.8
Banff and BuchanSNPCon gain8.9%−7.8
BarkingLabLab45.3%+2.0
Barnsley CentralLabLab39.8%−0.5
Barnsley EastLabLab32.6%−3.8
Barrow and FurnessLabLab0.4%−0.7
Basildon and BillericayConCon29.8%−0.4
BasingstokeConCon16.9%+2.0
BassetlawLabLab9.3%−4.3
BathConLD gain11.5%+1.8
Batley and SpenLabLab16.7%+2.3
BatterseaConLab gain4.4%+10.0
BeaconsfieldConCon43.8%+4.0
BeckenhamConCon29.2%+4.3
BedfordConLab gain1.6%+2.0
Belfast EastDUPDUP19.8%+0.9
Belfast NorthDUPDUP4.5%0
Belfast SouthSDLPDUP gain4.6%+0.5
Belfast WestSFSF53.3%+0.1
Bermondsey and Old SouthwarkLabLab22.2%+4.5
Berwick-upon-TweedConCon27.9%−0.9
Berwickshire, Roxburgh and SelkirkSNPCon gain21.1%−7.1
Bethnal Green and BowLabLab59.2%+6.6
Beverley and HoldernessConCon25.2%−1.0
Bexhill and BattleConCon37.3%+1.7
Bexleyheath and CrayfordConCon20.1%+0.5
BirkenheadLabLab58.4%+2.8
Birmingham, EdgbastonLabLab15.9%+4.7
Birmingham, ErdingtonLabLab19.6%+2.4
Birmingham, Hall GreenLabLab62.5%+10.2
Birmingham, Hodge HillLabLab66.9%+5.0
Birmingham, LadywoodLabLab69.5%+4.3
Birmingham, NorthfieldLabLab10.5%+2.3
Birmingham, Perry BarrLabLab41.6%+2.8
Birmingham, Selly OakLabLab31.0%+6.2
Birmingham, YardleyLabLab37.2%+4.8
Bishop AucklandLabLab1.2%−3.9
BlackburnLabLab42.9%+6.9
Blackley and BroughtonLabLab48.9%+1.0
Blackpool North and CleveleysConCon4.9%+1.8
Blackpool SouthLabLab7.2%−0.4
Blaenau GwentLabLab36.8%−2.0
BlaydonLabLab28.0%−1.8
Blyth ValleyLabLab18.6%−3.0
Bognor Regis and LittlehamptonConCon34.1%+1.7
BolsoverLabLab11.4%−7.7
Bolton North EastLabLab8.4%−0.9
Bolton South EastLabLab31.0%+0.5
Bolton WestConCon1.8%−0.1
BootleLabLab72.0%+2.8
Boston and SkegnessConCon38.7%−5.7
BosworthConCon32.7%−3.7
Bournemouth EastConCon16.3%+8.1
Bournemouth WestConCon17.3%+6.6
BracknellConCon28.7%+5.1
Bradford EastLabLab45.0%+4.8
Bradford SouthLabLab16.3%−0.4
Bradford WestLabLab48.1%+6.9
BraintreeConCon35.2%+0.1
Brecon and RadnorshireConCon19.5%−2.3
Brent CentralLabLab53.5%+5.9
Brent NorthLabLab30.2%+4.7
Brentford and IsleworthLabLab19.8%+9.5
Brentwood and OngarConCon45.4%+0.5
BridgendLabLab10.9%+3.0
Bridgwater and West SomersetConCon26.5%+0.9
Brigg and GooleConCon27.4%−0.8
Brighton, KemptownConLab gain20.1%+10.8
Brighton, PavilionGrnGrn25.5%+1.5
Bristol EastLabLab26.4%+8.9
Bristol North WestConLab gain8.8%+9.2
Bristol SouthLabLab29.4%+7.7
Bristol WestLabLab52.1%+15.8
BroadlandConCon28.3%+1.7
Bromley and ChislehurstConCon20.6%+5.1
BromsgroveConCon30.7%+0.5
BroxbourneConCon33.3%+2.2
BroxtoweConCon1.6%+3.2
BuckinghamSpkSpk48.8%0
BurnleyLabLab15.8%−4.2
BurtonConCon20.1%+1.1
Bury NorthConLab gain9.1%+5.0
Bury SouthLabLab11.7%+0.6
Bury St EdmundsConCon29.7%+3.1
CaerphillyLabLab29.3%+0.7
Caithness, Sutherland and Easter RossSNPLD gain6.6%−6.2
Calder ValleyConCon1.1%+3.6
Camberwell and PeckhamLabLab65.0%+7.5
Camborne and RedruthConCon3.3%+6.0
CambridgeLabLab22.6%+7.6
Cannock ChaseConCon17.5%−3.5
CanterburyConLab gain0.3%+9.3
Cardiff CentralLabLab42.6%+8.6
Cardiff NorthConLab gain8.0%+6.1
Cardiff South and PenarthLabLab29.3%+6.7
Cardiff WestLabLab26.9%+5.7
CarlisleConCon6.0%+0.2
Carmarthen East and DinefwrPCPC9.5%+0.2
Carmarthen West and South PembrokeshireConCon7.4%+3.8
Carshalton and WallingtonLDLD2.7%−1.6
Castle PointConCon42.2%−2.6
Central AyrshireSNPSNP2.8%−8.7
Central DevonConCon27.1%+6.2
Central Suffolk and North IpswichConCon30.4%+3.4
CeredigionLDPC gain0.3%+1.6
CharnwoodConCon29.6%+1.4
Chatham and AylesfordConCon23.3%+1.6
CheadleConCon8.3%+0.6
ChelmsfordConCon23.9%+5.0
Chelsea and FulhamConCon19.4%+10.2
CheltenhamConCon4.5%+0.8
Chesham and AmershamConCon40.1%+3.1
ChesterfieldLabLab20.0%−4.9
ChichesterConCon37.8%+3.9
Chingford and Woodford GreenConCon5.2%+7.0
ChippenhamConCon29.1%+2.1
Chipping BarnetConCon0.6%+6.9
ChorleyLabLab13.5%+2.4
ChristchurchConCon49.7%−0.6
Cities of London and WestminsterConCon8.1%+9.3
City of ChesterLabLab16.3%+8.0
City of DurhamLabLab25.6%+0.3
ClactonUKIPCon gain35.9%−6.8
CleethorpesConCon21.7%−2.1
Clwyd SouthLabLab11.6%+2.4
Clwyd WestConCon8.5%+4.6
Coatbridge, Chryston and BellshillSNPLab gain3.5%−0.6
ColchesterConCon10.6%+6.1
Colne ValleyConLab gain1.5%+5.5
CongletonConCon22.4%+5.2
CopelandLabCon gain4.0%−5.2
CorbyConCon4.5%−0.1
Coventry North EastLabLab33.5%+2.2
Coventry North WestLabLab17.2%+3.6
Coventry SouthLabLab16.9%+4.8
CrawleyConCon4.9%+4.3
Crewe and NantwichConLab gain0.1%+3.7
Croydon CentralConLab gain9.9%+5.1
Croydon NorthLabLab54.3%+7.2
Croydon SouthConCon18.6%+5.5
Cumbernauld, Kilsyth and Kirkintilloch EastSNPSNP9.7%−3.3
Cynon ValleyLabLab41.6%+3.0
Dagenham and RainhamLabLab10.2%−3.5
DarlingtonLabLab7.3%−0.2
DartfordConCon24.3%−0.4
DaventryConCon39.1%+0.5
DelynLabLab10.8%+1.5
Denton and ReddishLabLab35.6%+4.2
Derby NorthConLab gain4.1%+2.1
Derby SouthLabLab24.8%+1.6
Derbyshire DalesConCon28.9%+0.4
DevizesConCon41.8%+1.5
DewsburyLabLab5.9%+1.6
Don ValleyLabLab11.2%−4.8
Doncaster CentralLabLab23.6%−2.4
Doncaster NorthLabLab33.1%−0.5
DoverConCon12.4%+0.1
Dudley NorthLabLab0.1%−5.5
Dudley SouthConCon20.2%−4.5
Dulwich and West NorwoodLabLab50.2%+9.4
Dumfries and GallowaySNPCon gain10.9%−8.6
Dumfriesshire, Clydesdale and TweeddaleConCon19.3%−3.9
Dundee EastSNPSNP15.5%−3.2
Dundee WestSNPSNP13.6%+0.9
Dunfermline and West FifeSNPSNP1.7%−5.4
Dwyfor MeirionnyddPCPC16.0%+0.4
Ealing Central and ActonLabLab25.0%+12.2
Ealing NorthLabLab37.5%+6.0
Ealing, SouthallLabLab48.9%+2.8
EasingtonLabLab41.0%−3.6
East AntrimDUPDUP41.8%−0.4
East DevonConCon13.3%−0.5
East DunbartonshireSNPLD gain10.3%−1.9
East HamLabLab70.4%+2.5
East HampshireConCon46.7%+2.0
East Kilbride, Strathaven and LesmahagowSNPSNP7.2%−5.1
East LondonderryDUPDUP21.6%+0.2
East LothianSNPLab gain5.5%−2.5
East RenfrewshireSNPCon gain8.8%−12.7
East SurreyConCon40.4%+2.6
East Worthing and ShorehamConCon9.6%+10.2
East YorkshireConCon27.8%+1.0
EastbourneConLD gain2.8%−2.1
EastleighConCon24.8%−0.5
EddisburyConCon23.3%+2.1
Edinburgh EastSNPSNP7.9%−2.0
Edinburgh North and LeithSNPSNP2.9%−5.6
Edinburgh SouthLabLab32.4%+6.8
Edinburgh South WestSNPSNP2.2%−6.8
Edinburgh WestSNPLD gain5.7%−3.2
EdmontonLabLab48.3%+5.5
Ellesmere Port and NestonLabLab22.4%+4.5
Elmet and RothwellConCon16.5%−0.9
ElthamLabLab13.6%+3.7
Enfield NorthLabLab21.1%+9.4
Enfield, SouthgateConLab gain9.0%+9.7
Epping ForestConCon35.9%+1.4
Epsom and EwellConCon34.6%+4.1
ErewashConCon9.1%−0.8
Erith and ThamesmeadLabLab22.5%+0.1
Esher and WaltonConCon38.9%+5.6
ExeterLabLab29.1%+7.9
FalkirkSNPSNP9.2%−4.7
FarehamConCon37.8%+2.0
Faversham and Mid KentConCon35.0%+1.6
Feltham and HestonLabLab29.4%+3.1
Fermanagh and South TyroneUUPSF gain1.6%0
Filton and Bradley StokeConCon8.3%+5.9
Finchley and Golders GreenConCon3.2%+4.0
Folkestone and HytheConCon26.2%+3.6
Forest of DeanConCon18.4%+1.9
FoyleSDLPSF gain0.4%+0.2
FyldeConCon25.4%+2.5
GainsboroughConCon33.1%−0.9
Garston and HalewoodLabLab60.1%+2.3
GatesheadLabLab41.2%−0.5
GedlingLabLab9.1%+1.4
Gillingham and RainhamConCon19.3%+1.5
Glasgow CentralSNPSNP6.3%−1.3
Glasgow EastSNPSNP0.2%−3.3
Glasgow NorthSNPSNP3.2%−0.2
Glasgow North EastSNPLab gain0.8%+0.5
Glasgow North WestSNPSNP6.6%−2.3
Glasgow SouthSNPSNP4.6%−1.3
Glasgow South WestSNPSNP0.2%−1.5
GlenrothesSNPSNP8.1%−3.8
GloucesterConCon10.2%+1.8
GordonSNPCon gain4.9%−11.6
GosportConCon34.8%+3.0
GowerConLab gain7.2%+3.6
Grantham and StamfordConCon35.5%+0.2
GraveshamConCon19.1%−1.2
Great GrimsbyLabLab7.2%−3.1
Great YarmouthConCon18.1%−2.1
Greenwich and WoolwichLabLab39.0%+6.7
GuildfordConCon30.7%+4.7
Hackney North and Stoke NewingtonLabLab62.4%+7.1
Hackney South and ShoreditchLabLab68.5%+8.8
Halesowen and Rowley RegisConCon11.8%−2.4
HalifaxLabLab11.1%+5.1
Haltemprice and HowdenConCon30.0%+1.6
HaltonLabLab51.3%+3.1
HammersmithLabLab35.7%+11.1
Hampstead and KilburnLabLab26.6%+12.3
HarboroughConCon21.6%+7.9
HarlowConCon15.7%+1.6
Harrogate and KnaresboroughConCon32.0%+3.6
Harrow EastConCon3.5%+3.1
Harrow WestLabLab26.4%+10.9
HartlepoolLabLab18.3%+1.8
Harwich and North EssexConCon28.1%+1.6
Hastings and RyeConCon0.6%+4.4
HavantConCon34.5%+0.6
Hayes and HarlingtonLabLab37.9%+1.5
Hazel GroveConCon12.5%−0.6
Hemel HempsteadConCon18.1%+5.5
HemsworthLabLab22.1%−3.2
HendonConCon2.1%+2.7
HenleyConCon39.0%+3.4
Hereford and South HerefordshireConCon29.7%+5.0
Hertford and StortfordConCon31.7%+3.3
HertsmereConCon32.4%+2.2
HexhamConCon20.0%+3.9
Heywood and MiddletonLabLab15.3%−4.4
High PeakConLab gain4.3%+7.0
Hitchin and HarpendenConCon20.5%+7.9
Holborn and St PancrasLabLab51.7%+10.3
Hornchurch and UpminsterConCon31.6%−1.4
Hornsey and Wood GreenLabLab49.3%+4.5
HorshamConCon37.9%+4.0
Houghton and Sunderland SouthLabLab29.8%−3.5
HoveLabLab32.6%+15.1
HuddersfieldLabLab27.4%+4.6
HuntingdonConCon24.2%+5.2
HyndburnLabLab12.9%+1.3
Ilford NorthLabLab18.2%+8.5
Ilford SouthLabLab54.9%+8.4
InverclydeSNPSNP1.0%−2.2
Inverness, Nairn, Badenoch and StrathspeySNPSNP9.3%−7.9
IpswichConLab gain1.6%+4.6
Isle of WightConCon28.3%−0.2
Islington NorthLabLab60.5%+8.7
Islington South and FinsburyLabLab42.2%+6.7
IslwynLabLab31.6%−1.1
JarrowLabLab40.1%+0.8
KeighleyConLab gain0.5%+3.3
Kenilworth and SouthamConCon35.2%+3.9
KensingtonConLab gain0.1%+10.6
KetteringConCon21.4%+2.6
Kilmarnock and LoudounSNPSNP13.5%−7.8
Kingston and SurbitonConLD gain6.6%+0.7
Kingston upon Hull EastLabLab28.4%−3.7
Kingston upon Hull NorthLabLab38.6%+0.4
Kingston upon Hull West and HessleLabLab23.2%−4.2
KingswoodConCon15.4%+1.7
Kirkcaldy and CowdenbeathSNPLab gain0.6%−5.0
KnowsleyLabLab76.1%+2.3
Lagan ValleyDUPDUP42.8%+0.3
Lanark and Hamilton EastSNPSNP0.5%−7.4
Lancaster and FleetwoodLabLab14.5%+5.7
Leeds CentralLabLab49.7%+6.0
Leeds EastLabLab30.8%−1.0
Leeds North EastLabLab32.1%+8.5
Leeds North WestLDLab gain9.1%+6.5
Leeds WestLabLab37.8%+5.0
Leicester EastLabLab42.8%+2.3
Leicester SouthLabLab52.0%+6.6
Leicester WestLabLab29.5%+4.3
LeighLabLab20.4%−5.4
LewesConCon10.2%−5.1
Lewisham EastLabLab44.9%+5.8
Lewisham West and PengeLabLab43.5%+8.6
Lewisham, DeptfordLabLab63.3%+9.0
Leyton and WansteadLabLab49.0%+6.2
LichfieldConCon34.7%+0.3
LincolnConLab gain3.2%+3.1
Linlithgow and East FalkirkSNPSNP5.2%−8.5
Liverpool, RiversideLabLab74.9%+8.5
Liverpool, WaltonLabLab77.1%+0.3
Liverpool, WavertreeLabLab67.5%+4.1
Liverpool, West DerbyLabLab72.9%+2.2
LivingstonSNPSNP7.4%−4.5
LlanelliLabLab29.8%+1.4
LoughboroughConCon7.9%+4.9
Louth and HorncastleConCon37.2%−2.0
LudlowConCon38.6%+1.7
Luton NorthLabLab30.8%+4.2
Luton SouthLabLab30.2%+8.3
MacclesfieldConCon15.9%+7.0
MaidenheadConCon45.4%+4.3
Maidstone and The WealdConCon34.3%+0.3
MakerfieldLabLab28.9%−1.7
MaldonConCon46.7%+1.0
Manchester CentralLabLab63.2%+7.8
Manchester, GortonLabLab69.1%+5.8
Manchester, WithingtonLabLab55.7%+8.7
MansfieldLabCon gain2.1%−6.7
Meon ValleyConCon47.4%+1.4
MeridenConCon35.1%+0.3
Merthyr Tydfil and RhymneyLabLab48.7%+2.5
Mid BedfordshireConCon33.2%+3.5
Mid DerbyshireConCon23.1%+1.9
Mid Dorset and North PooleConCon31.8%−0.5
Mid NorfolkConCon28.9%+2.4
Mid SussexConCon31.9%+5.2
Mid UlsterSFSF27.6%+0.1
Mid WorcestershireConCon42.3%+0.1
MiddlesbroughLabLab38.9%−0.7
Middlesbrough South and East ClevelandLabCon gain2.1%−3.6
MidlothianSNPLab gain2.0%−3.7
Milton Keynes NorthConCon3.1%+6.9
Milton Keynes SouthConCon2.6%+6.1
Mitcham and MordenLabLab44.4%+3.5
Mole ValleyConCon42.6%+2.2
MonmouthConCon16.5%+3.3
MontgomeryshireConCon26.6%+1.7
MoraySNPCon gain8.7%−7.7
Morecambe and LunesdaleConCon3.1%+3.8
Morley and OutwoodConCon4.0%−1.6
Motherwell and WishawSNPSNP0.8%−3.4
Na h-Eileanan an IarSNPSNP6.8%−1.8
NeathLabLab33.0%+2.3
New Forest EastConCon42.8%+0.6
New Forest WestConCon47.2%+1.0
NewarkConCon33.0%+1.2
NewburyConCon40.1%+2.6
Newcastle upon Tyne CentralLabLab40.3%+2.1
Newcastle upon Tyne EastLabLab46.3%+7.2
Newcastle upon Tyne NorthLabLab21.4%−0.6
Newcastle-under-LymeLabLab0.1%−0.7
Newport EastLabLab21.7%+4.2
Newport WestLabLab13.0%+2.2
Newry and ArmaghSFSF23.3%+0.2
Newton AbbotConCon33.2%+2.1
Normanton, Pontefract and CastlefordLabLab29.5%−2.3
North AntrimDUPDUP42.6%+0.4
North Ayrshire and ArranSNPSNP7.7%−8.5
North CornwallConCon14.1%+0.4
North DevonConCon7.8%+1.3
North DorsetConCon46.3%+0.7
North DownIndInd3.1%+1.0
North DurhamLabLab29.9%−2.0
North East BedfordshireConCon32.5%+5.6
North East CambridgeshireConCon39.9%+0.4
North East DerbyshireLabCon gain5.7%−4.8
North East FifeSNPSNP0.0%−2.9
North East HampshireConCon48.2%+3.9
North East HertfordshireConCon30.3%+3.1
North East SomersetConCon18.9%+3.0
North HerefordshireConCon43.1%+0.6
North NorfolkLDLD6.7%−5.5
North ShropshireConCon29.4%+1.0
North SomersetConCon27.6%+5.8
North SwindonConCon15.2%+3.7
North ThanetConCon22.2%+4.4
North TynesideLabLab37.2%+0.2
North WarwickshireConCon18.0%−5.9
North West CambridgeshireConCon28.1%+3.2
North West DurhamLabLab18.4%−2.6
North West HampshireConCon38.6%+3.1
North West LeicestershireConCon24.8%−1.4
North West NorfolkConCon28.3%+0.6
North WiltshireConCon42.6%+2.3
Northampton NorthConCon2.0%+3.1
Northampton SouthConCon2.8%+3.5
Norwich NorthConCon1.1%+4.6
Norwich SouthLabLab30.4%+7.3
Nottingham EastLabLab49.8%+8.0
Nottingham NorthLabLab29.1%−2.2
Nottingham SouthLabLab31.5%+7.8
NuneatonConCon10.3%+0.2
Ochil and South PerthshireSNPCon gain6.2%−14.6
OgmoreLabLab37.3%+0.1
Old Bexley and SidcupConCon32.2%+0.8
Oldham East and SaddleworthLabLab17.4%+2.0
Oldham West and RoytonLabLab37.6%+0.9
Orkney and ShetlandLDLD19.6%+2.3
OrpingtonConCon38.6%+1.6
Oxford EastLabLab43.2%+6.5
Oxford West and AbingdonConLD gain1.4%+1.6
Paisley and Renfrewshire NorthSNPSNP5.6%−8.1
Paisley and Renfrewshire SouthSNPSNP6.1%−8.0
PendleConCon2.9%+4.7
Penistone and StocksbridgeLabLab2.7%−5.8
Penrith and The BorderConCon34.2%+5.5
Perth and North PerthshireSNPSNP0.0%−3.7
PeterboroughConLab gain1.3%+2.7
Plymouth, Moor ViewConCon11.1%−4.3
Plymouth, Sutton and DevonportConLab gain13.3%+7.2
PontypriddLabLab28.7%+2.5
PooleConCon28.5%+4.4
Poplar and LimehouseLabLab47.1%+7.0
Portsmouth NorthConCon21.1%+1.1
Portsmouth SouthConLab gain3.5%+9.4
Preseli PembrokeshireConCon0.7%+5.8
PrestonLabLab44.2%+4.1
PudseyConCon0.6%+4.1
PutneyConCon3.3%+10.2
Rayleigh and WickfordConCon42.4%−0.2
Reading EastConLab gain6.8%+9.9
Reading WestConCon5.6%+4.1
RedcarLabLab22.3%−2.7
RedditchConCon16.3%−0.1
ReigateConCon32.7%+5.6
RhonddaLabLab41.7%+5.0
Ribble ValleyConCon23.9%+1.1
Richmond (Yorks)ConCon40.5%−1.2
Richmond ParkConCon0.1%+4.9
RochdaleLabLab29.6%+0.3
Rochester and StroodConCon18.3%+3.0
Rochford and Southend EastConCon11.7%+5.0
RomfordConCon27.6%+1.3
Romsey and Southampton NorthConCon36.0%+2.2
Ross, Skye and LochaberSNPSNP15.4%−5.7
Rossendale and DarwenConCon6.4%+2.6
Rother ValleyLabLab7.8%−6.2
RotherhamLabLab30.0%−5.1
RugbyConCon16.0%+2.6
Ruislip, Northwood and PinnerConCon26.2%+6.7
Runnymede and WeybridgeConCon35.0%+4.6
RushcliffeConCon13.7%+5.7
Rutherglen and Hamilton WestSNPLab gain0.5%−4.8
Rutland and MeltonConCon40.1%+0.1
Saffron WaldenConCon41.0%+2.2
Salford and EcclesLabLab40.2%+5.6
SalisburyConCon32.5%+3.9
Scarborough and WhitbyConCon6.8%+3.1
ScunthorpeLabLab8.5%0
SedgefieldLabLab14.6%−1.6
Sefton CentralLabLab30.0%+2.9
Selby and AinstyConCon24.6%+0.6
SevenoaksConCon42.8%+0.6
Sheffield CentralLabLab58.0%+7.0
Sheffield South EastLabLab27.1%−3.5
Sheffield, Brightside and HillsboroughLabLab45.7%+0.1
Sheffield, HallamLDLab gain3.7%−3.8
Sheffield, HeeleyLabLab31.3%−0.4
SherwoodConCon9.7%−0.3
ShipleyConCon8.8%+5.1
Shrewsbury and AtchamConCon11.4%+3.2
Sittingbourne and SheppeyConCon29.6%+0.1
Skipton and RiponConCon34.4%+1.8
Sleaford and North HykehamConCon38.4%+0.3
SloughLabLab31.3%+8.1
SolihullConCon36.3%+1.3
Somerton and FromeConCon35.9%+3.1
South AntrimUUPDUP gain7.4%+0.6
South Basildon and East ThurrockConCon24.4%−3.1
South CambridgeshireConCon24.6%+4.4
South DerbyshireConCon22.7%−0.1
South DorsetConCon22.5%+1.1
South DownSDLPSF gain4.8%+0.4
South East CambridgeshireConCon25.7%+3.8
South East CornwallConCon32.8%+4.2
South Holland and The DeepingsConCon49.5%−1.2
South LeicestershireConCon32.9%−0.8
South NorfolkConCon27.3%+4.3
South NorthamptonshireConCon35.1%+4.1
South RibbleConCon13.5%−1.1
South ShieldsLabLab35.6%+0.5
South StaffordshireConCon44.5%−1.7
South SuffolkConCon32.7%+0.5
South SwindonConCon4.8%+3.5
South ThanetConCon12.8%+0.8
South West BedfordshireConCon25.5%+4.6
South West DevonConCon29.9%+5.0
South West HertfordshireConCon32.2%+4.2
South West NorfolkConCon34.9%−0.6
South West SurreyConCon35.7%+3.6
South West WiltshireConCon33.5%+2.9
Southampton, ItchenConCon0.1%+2.6
Southampton, TestLabLab24.5%+7.9
Southend WestConCon21.2%+5.2
SouthportLDCon gain6.1%+1.3
SpelthorneConCon26.8%+2.2
St AlbansConCon10.7%+1.7
St Austell and NewquayConCon20.6%+4.7
St Helens NorthLabLab36.7%−0.4
St Helens South and WhistonLabLab46.0%+1.1
St IvesConCon0.6%0
StaffordConCon14.9%+2.0
Staffordshire MoorlandsConCon24.3%−0.2
Stalybridge and HydeLabLab19.0%+1.4
StevenageConCon6.9%+1.8
StirlingSNPCon gain0.3%−8.7
StockportLabLab34.9%+4.7
Stockton NorthLabLab20.4%−0.4
Stockton SouthConLab gain1.7%+5.7
Stoke-on-Trent CentralLabLab11.8%−2.5
Stoke-on-Trent NorthLabLab5.7%−3.4
Stoke-on-Trent SouthLabCon gain1.6%−4.0
StoneConCon35.0%−0.2
StourbridgeConCon16.2%−0.8
StrangfordDUPDUP47.3%+2.5
Stratford-on-AvonConCon41.0%+1.8
StreathamLabLab47.1%+9.6
Stretford and UrmstonLabLab39.3%+7.0
StroudConLab gain1.1%+4.5
Suffolk CoastalConCon27.6%+3.2
Sunderland CentralLabLab22.2%−2.3
Surrey HeathConCon43.1%+2.8
Sutton and CheamConCon24.4%−0.1
Sutton ColdfieldConCon29.0%+1.6
Swansea EastLabLab37.5%−0.1
Swansea WestLabLab28.4%+4.2
TamworthConCon26.2%−1.1
TattonConCon30.1%+5.1
Taunton DeaneConCon25.2%+0.7
TelfordConCon1.6%+0.1
TewkesburyConCon38.2%+0.7
The CotswoldsConCon42.7%+2.3
The WrekinConCon19.3%+2.2
Thirsk and MaltonConCon34.0%+1.6
Thornbury and YateConCon23.8%−5.0
ThurrockConCon0.7%+0.2
Tiverton and HonitonConCon34.3%+3.5
Tonbridge and MallingConCon41.3%+2.0
TootingLabLab26.6%+10.6
TorbayConCon27.9%−1.4
TorfaenLabLab26.7%+2.6
Torridge and West DevonConCon34.8%+2.7
TotnesConCon26.8%+6.7
TottenhamLabLab70.1%+7.4
Truro and FalmouthConCon6.7%+11.1
Tunbridge WellsConCon30.4%+7.1
TwickenhamConLD gain14.7%+0.5
TynemouthLabLab20.5%+2.6
Upper BannDUPDUP15.6%+0.2
Uxbridge and South RuislipConCon10.8%+6.5
Vale of ClwydConLab gain6.2%+3.4
Vale of GlamorganConCon4.1%+4.7
VauxhallLabLab36.8%+6.1
WakefieldLabLab4.7%−0.7
WallaseyLabLab48.2%+5.3
Walsall NorthLabCon gain6.8%−6.0
Walsall SouthLabLab20.2%+2.9
WalthamstowLabLab66.5%+5.5
WansbeckLabLab24.6%−1.8
WantageConCon27.3%+5.0
WarleyLabLab41.0%+1.1
Warrington NorthLabLab19.8%+0.1
Warrington SouthConLab gain4.1%+4.4
Warwick and LeamingtonConLab gain2.2%+7.6
Washington and Sunderland WestLabLab31.9%−2.1
WatfordConCon3.6%+6.9
WaveneyConCon17.5%−6.4
WealdenConCon39.1%+3.6
Weaver ValeConLab gain7.8%+4.7
WellingboroughConCon23.4%+4.6
WellsConCon12.5%+0.6
Welwyn HatfieldConCon14.3%+5.0
Wentworth and DearneLabLab33.7%−4.1
West Aberdeenshire and KincardineSNPCon gain15.4%−6.2
West Bromwich EastLabLab19.7%−2.8
West Bromwich WestLabLab12.4%−5.5
West DorsetConCon32.0%+1.5
West DunbartonshireSNPSNP5.2%−1.9
West HamLabLab60.5%+3.8
West LancashireLabLab21.5%+2.3
West SuffolkConCon33.0%+0.9
West TyroneSFSF23.8%+0.2
West WorcestershireConCon37.8%+2.5
Westminster NorthLabLab26.6%+10.8
Westmorland and LonsdaleLDLD1.5%−3.7
Weston-Super-MareConCon20.5%+4.6
WiganLabLab33.7%+1.1
WimbledonConCon10.9%+7.6
WinchesterConCon17.5%+2.6
WindsorConCon41.5%+4.2
Wirral SouthLabLab18.4%+3.7
Wirral WestLabLab12.2%+5.6
WithamConCon37.9%+1.9
WitneyConCon34.9%+4.1
WokingConCon30.3%+4.9
WokinghamConCon31.5%+5.9
Wolverhampton North EastLabLab12.6%−1.8
Wolverhampton South EastLabLab23.5%−3.8
Wolverhampton South WestLabLab5.2%+1.6
WorcesterConCon4.9%+3.2
WorkingtonLabLab9.4%−1.4
Worsley and Eccles SouthLabLab18.4%+2.1
Worthing WestConCon22.2%+6.8
WrexhamLabLab5.2%−0.2
WycombeConCon12.3%+8.3
Wyre and Preston NorthConCon23.3%+2.6
Wyre ForestConCon26.1%0
Wythenshawe and Sale EastLabLab32.6%+4.1
YeovilConCon24.8%−3.3
Ynys MônLabLab14.1%+2.1
York CentralLabLab35.0%+10.5
York OuterConCon14.4%+5.0

Swing is Conservative–Labour Butler swing in points; positive means towards Labour.

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