These constituencies were used for elections to the House of Commons of the United Kingdom from 1997 to 2024.
Constituency
1997
2001
2005
2010
2015
2017
2019
Amber Valley
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Bolsover
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Chesterfield
Labour
Liberal Democrat
Liberal Democrat
Labour
Labour
Labour
Labour
Derby North
Labour
Labour
Labour
Labour
Conservative
Labour
Conservative
Derby South
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Erewash
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
High Peak
Labour
Labour
Labour
Conservative
Conservative
Labour
Conservative
Mid Derbyshire
N/A
Conservative
Conservative
Conservative
Conservative
North East Derbyshire
Labour
Labour
Labour
Labour
Labour
Conservative
Conservative
South Derbyshire
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
West Derbyshire / Derbyshire Dales (from 2010)
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Blaby / South Leicestershire (from 2010)
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Bosworth
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Charnwood
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Harborough
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Leicester East
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Leicester South
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Leicester West
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Loughborough
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
North West Leicestershire
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Rutland and Melton
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Boston and Skegness
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Gainsborough
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Grantham and Stamford
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Lincoln
Labour
Labour
Labour
Conservative
Conservative
Labour
Conservative
Louth and Horncastle
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Sleaford and North Hykeham
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
South Holland and The Deepings
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Corby
Labour
Labour
Labour
Conservative1
Conservative
Conservative
Conservative
Daventry
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Kettering
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Northampton North
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Northampton South
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
South Northamptonshire
N/A
Conservative
Conservative
Conservative
Conservative
Wellingborough
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
1 seat won by Labour in a 2012 by-election
Constituency
1997
2001
2005
2010
2015
2017
2019
Ashfield
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Bassetlaw
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Broxtowe
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Gedling
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Mansfield
Labour
Labour
Labour
Labour
Labour
Conservative
Conservative
Newark
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Nottingham East
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Nottingham North
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Nottingham South
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Rushcliffe
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Sherwood
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Bedford
Labour
Labour
Labour
Conservative
Conservative
Labour
Labour
Luton North
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Luton South
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Mid Bedfordshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
North East Bedfordshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
South West Bedfordshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Cambridge
Labour
Labour
Liberal Democrat
Liberal Democrat
Labour
Labour
Labour
Huntingdon
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
North East Cambridgeshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
North West Cambridgeshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Peterborough
Labour
Labour
Conservative
Conservative
Conservative
Labour
Conservative
South Cambridgeshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
South East Cambridgeshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Basildon / South Basildon and East Thurrock (2010)
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Billericay / Basildon and Billericay (2010)
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Braintree
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Brentwood and Ongar
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Castle Point
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Colchester
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Epping Forest
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Harlow
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Harwich / Clacton (2010)
Labour
Labour
Conservative
Conservative1
UKIP
Conservative
Conservative
Maldon and East Chelmsford / Maldon (2010)
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
North Essex / Harwich and North Essex (2010)
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Rayleigh / Rayleigh and Wickford (2010)
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Rochford and Southend East
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Saffron Walden
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Southend West
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Thurrock
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
West Chelmsford / Chelmsford (2010)
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Witham
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Broxbourne
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Hemel Hempstead
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Hertford and Stortford
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Hertsmere
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Hitchin and Harpenden
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
North East Hertfordshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
St Albans
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Liberal Democrat
South West Hertfordshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Stevenage
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Watford
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Welwyn Hatfield
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Broadland
Conservative
Conservative
Conservative
Conservative
Great Yarmouth
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Mid Norfolk
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
North Norfolk
Conservative
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
North West Norfolk
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Norwich North
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Norwich South
Labour
Labour
Labour
Liberal Democrat
Labour
Labour
Labour
South Norfolk
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
South West Norfolk
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Bury St Edmunds
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Central Suffolk and North Ipswich
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Ipswich
Labour
Labour
Labour
Conservative
Conservative
Labour
Conservative
South Suffolk
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Suffolk Coastal
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Waveney
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
West Suffolk
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
The boroughs of Enfield, Haringey, Islington, Hackney, Tower Hamlets, Newham, Waltham Forest, Redbridge, Barking & Dagenham and Havering.
North West London Boroughs (20)
The boroughs of Hillingdon, Harrow, Brent, Ealing, Barnet, Camden, Hammersmith & Fulham, Kensington & Chelsea and Westminster, and the City of London.
South East London Boroughs (16)
The boroughs of Lambeth, Southwark, Lewisham, Bromley, Greenwich and Bexley.
South West London Boroughs (15)
The boroughs of Hounslow, Richmond, Kingston, Wandsworth, Merton, Sutton and Croydon.
Constituency
1997
2001
2005
2010
2015
2017
2019
Battersea
Labour
Labour
Labour
Conservative
Conservative
Labour
Labour
Brentford and Isleworth
Labour
Labour
Labour
Conservative
Labour
Labour
Labour
Carshalton and Wallington
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Croydon Central
Labour
Labour
Conservative1
Conservative
Conservative
Labour
Labour
Croydon North
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Croydon South
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Feltham and Heston
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Kingston and Surbiton
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Liberal Democrat
Liberal Democrat
Mitcham and Morden
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Putney
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Labour
Richmond Park
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Liberal Democrat
Sutton and Cheam
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Tooting
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Twickenham
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Liberal Democrat
Liberal Democrat
Wimbledon
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
1 MP sat as an Independent Conservative from Sep 2007 and an independent from Oct 2008
Seats:
Party
1997
2001
2005
2010
2015
2017
2019
Labour
9
9
6
4
5
7
8
Conservative
1
1
4
7
9
5
4
Liberal Democrat
5
5
5
4
1
3
3
Votes:
Party
1997
2001
2005
2010
2015
2017
2019
Labour
300,106
232,364
207,143
202,056
253,924
Conservative
270,881
209,871
238,704
303,548
332,273
Liberal Democrat
165,082
167,615
187,408
215,302
113,576
UKIP
57,308
Green
29,867
London total seats
Party
1997
2001
2005
2010
2015
2017
2019
Labour
57
55
44
38
45
49
49
Conservative
11
13
21
28
27
21
21
Liberal Democrat
6
6
8
7
1
3
3
Respect
1
Constituency
1997
2001
2005
2010
2015
2017
2019
Hartlepool
Labour
Labour
Labour
Labour
Labour
Labour
Labour1
Middlesbrough
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Middlesbrough South and East Cleveland
Labour
Labour
Labour
Labour
Labour
Conservative
Conservative
Redcar
Labour
Labour
Labour
Liberal Democrat
Labour
Labour
Conservative
Stockton North
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Stockton South
Labour
Labour
Labour
Conservative
Conservative
Labour
Conservative
1 Seat won by the Conservatives in a May 2021 by-election
Constituency
1997
2001
2005
2010
2015
2017
2019
Bishop Auckland
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
City of Durham
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Darlington
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Easington
Labour
Labour
Labour
Labour
Labour
Labour
Labour
North Durham
Labour
Labour
Labour
Labour
Labour
Labour
Labour
North West Durham
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Sedgefield
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Berwick-upon-Tweed
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Blyth Valley
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Hexham
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Wansbeck
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Constituency
1997
2001
2005
2010
2015
2017
2019
City of Chester
Labour
Labour
Labour
Conservative
Labour
Labour
Labour
Congleton
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Crewe and Nantwich
Labour
Labour
Labour1
Conservative
Conservative
Labour
Conservative
Eddisbury
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Ellesmere Port and Neston
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Halton
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Macclesfield
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Tatton
Independent
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Warrington North
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Warrington South
Labour
Labour
Labour
Conservative
Conservative
Labour
Conservative
Weaver Vale
Labour
Labour
Labour
Conservative
Conservative
Labour
Labour
1 seat gained by the Conservatives in a May 2008 by-election
Constituency
1997
2001
2005
2010
2015
2017
2019
Barrow and Furness
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Carlisle
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Copeland
Labour
Labour
Labour
Labour
Labour
Conservative
Conservative
Penrith and The Border
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Westmorland and Lonsdale
Conservative
Conservative
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Workington
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
1 MP sat as an independent from Dec 2015
Constituency
1997
2001
2005
2010
2015
2017
2019
Blackburn
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Blackpool North and Fleetwood / Blackpool North and Cleveleys (2010)
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Blackpool South
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Burnley
Labour
Labour
Labour
Liberal Democrat
Labour
Labour
Conservative
Chorley
Labour
Labour
Labour
Labour
Labour
Labour
Speaker (Lab)
Fylde
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Hyndburn
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Lancaster and Fleetwood (2010)
Conservative
Labour
Labour
Labour
Lancaster and Wyre / Wyre and Preston North (2010)
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Morecambe and Lunesdale
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Pendle
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Preston
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Ribble Valley
Conservative
Conservative
Conservative
Conservative1
Conservative
Conservative
Conservative
Rossendale and Darwen
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
South Ribble
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
West Lancashire
Labour
Labour
Labour
Labour
Labour
Labour
Labour
1 MP sat as an independent Sep 2013 - Apr 2014
1 MP sat as an independent from Sep 2007
Constituency
1997
2001
2005
2010
2015
2017
2019
Bracknell
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Maidenhead
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Newbury
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Conservative
Conservative
Reading East
Labour
Labour
Conservative
Conservative
Conservative
Labour
Labour
Reading West
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Slough
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Windsor
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Wokingham
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Aylesbury
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Beaconsfield
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Buckingham
Conservative
Conservative
Conservative1
Speaker (Con)
Speaker (Con)
Speaker (Con)
Conservative
Chesham and Amersham
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
North East Milton Keynes
Milton Keynes North (from 2010)
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Milton Keynes South West
Milton Keynes South (from 2010)
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Wycombe
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
1 MP sat as Speaker from Jun 2009
Constituency
1997
2001
2005
2010
2015
2017
2019
Bexhill and Battle
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Brighton Kemptown
Labour
Labour
Labour
Conservative
Conservative
Labour
Labour
Brighton Pavilion
Labour
Labour
Labour
Green
Green
Green
Green
Eastbourne
Conservative
Conservative
Conservative
Liberal Democrat
Conservative
Liberal Democrat
Conservative
Hastings and Rye
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Hove
Labour
Labour
Labour
Conservative
Labour
Labour
Labour
Lewes
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Wealden
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Aldershot
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Basingstoke
Conservative
Conservative2
Conservative
Conservative
Conservative
Conservative
Conservative
East Hampshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Eastleigh
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Fareham
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Gosport
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Havant
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Meon Valley
Conservative
Conservative
Conservative
Conservative
New Forest East
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
New Forest West
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
North East Hampshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
North West Hampshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Portsmouth North
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Portsmouth South
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat1
Conservative
Labour
Labour
Romsey
Romsey and Southampton North (from 2010)
Conservative
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Conservative
Southampton Itchen
Labour
Labour
Labour
Labour
Conservative
Conservative
Conservative
Southampton Test
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Winchester
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Conservative
1 MP sat as an independent from Jun 2013
2 MP sat as an independent from Oct 2002
Constituency
1997
2001
2005
2010
2015
2017
2019
Isle of Wight
Liberal Democrat
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Ashford
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Canterbury
Conservative
Conservative
Conservative
Conservative
Conservative
Labour
Labour
Chatham and Aylesford
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Dartford
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Dover
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Faversham and Mid Kent
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Folkestone and Hythe
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Gillingham / Gillingham and Rainham (from 2010)
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Gravesham
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Maidstone and The Weald
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Medway / Rochester and Strood (from 2010)
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
North Thanet
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Sevenoaks
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Sittingbourne and Sheppey
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
South Thanet
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Tonbridge and Malling
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Tunbridge Wells
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Banbury
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Henley
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Oxford East
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Oxford West and Abingdon
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Liberal Democrat
Liberal Democrat
Wantage
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Witney
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
East Surrey
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Epsom and Ewell
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Esher and Walton
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Guildford
Conservative
Liberal Democrat
Conservative
Conservative
Conservative
Conservative
Conservative
Mole Valley
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Reigate
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Runnymede and Weybridge
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
South West Surrey
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Spelthorne
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Surrey Heath
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Woking
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Arundel and South Downs
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Bognor Regis and Littlehampton
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Chichester
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Crawley
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
East Worthing and Shoreham
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Horsham
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Mid Sussex
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Worthing West
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Bath
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Liberal Democrat
Liberal Democrat
Bristol East
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Bristol North West
Labour
Labour
Labour
Conservative
Conservative
Labour
Labour
Bristol South
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Bristol West
Labour
Labour
Liberal Democrat
Liberal Democrat
Labour
Labour
Labour
Filton and Bradley Stoke
Conservative
Conservative
Conservative
Conservative
Kingswood
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Northavon / Thornbury and Yate (from 2010)
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Wansdyke / North East Somerset (from 2010)
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Weston-Super-Mare
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Conservative
Conservative
Woodspring / North Somerset (from 2010)
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Falmouth and Camborne / Camborne and Redruth (from 2010)
Labour
Labour
Liberal Democrat
Conservative
Conservative
Conservative
Conservative
North Cornwall
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
St Ives
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
South East Cornwall
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Conservative
Truro and St Austell / St Austell and Newquay (from 2010)
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Truro and Falmouth
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Central Devon CC
Conservative
Conservative
Conservative
Conservative
East Devon
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Exeter
Labour
Labour
Labour
Labour
Labour
Labour
Labour
North Devon
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Plymouth Devonport / Plymouth, Moor View (from 2010)
Labour
Labour
Labour
Labour
Conservative
Conservative
Conservative
Plymouth Sutton / Plymouth, Sutton and Devonport (from 2010)
Labour
Labour
Labour
Conservative
Conservative
Labour
Labour
South West Devon
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Teignbridge / Newton Abbot (from 2010)
Conservative
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Conservative
Tiverton and Honiton
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Torbay
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Torridge and West Devon
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Conservative
Conservative
Totnes
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Bournemouth East
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Bournemouth West
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Christchurch
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Mid Dorset and North Poole
Conservative
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
North Dorset
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Poole
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
South Dorset
Conservative
Labour
Labour
Conservative
Conservative
Conservative
Conservative
West Dorset
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Cheltenham
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Cotswold
The Cotswolds (from 2010)
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Forest of Dean
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Gloucester
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Stroud
Labour
Labour
Labour
Conservative
Conservative
Labour
Conservative
Tewkesbury
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Bridgwater / Bridgwater and West Somerset
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Somerton and Frome
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Taunton / Taunton Deane (from 2010)
Liberal Democrat
Conservative
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Wells
Conservative
Conservative
Conservative
Liberal Democrat
Conservative
Conservative
Conservative
Yeovil
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Chippenham
Liberal Democrat
Conservative
Conservative
Conservative
Devizes
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
North Swindon
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
North Wiltshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Salisbury
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
South Swindon
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Westbury
South West Wiltshire (from 2010)
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Bromsgrove
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Hereford
Hereford and South Herefordshire (from 2010)
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Conservative
Leominster
North Herefordshire (from 2010)
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Mid Worcestershire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Redditch
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
West Worcestershire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Worcester
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Wyre Forest
Labour
Health Concern
Health Concern
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Ludlow
Conservative
Liberal Democrat
Conservative
Conservative
Conservative
Conservative
Conservative
North Shropshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Shrewsbury and Atcham
Labour
Labour1
Conservative
Conservative
Conservative
Conservative
Conservative
Telford
Labour
Labour
Labour
Labour
Conservative
Conservative
Conservative
The Wrekin
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
1 MP defected to the Liberal Democrats shortly after election
Constituency
1997
2001
2005
2010
2015
2017
2019
Burton
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Cannock Chase
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Lichfield
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Newcastle-under-Lyme
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
South Staffordshire
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Stafford
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Staffordshire Moorlands
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Stoke-on-Trent Central
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Stoke-on-Trent North
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Stoke-on-Trent South
Labour
Labour
Labour
Labour
Labour
Conservative
Conservative
Stone
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Tamworth
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Constituency
1997
2001
2005
2010
2015
2017
2019
Kenilworth and Southam
Conservative
Conservative
Conservative
Conservative
North Warwickshire
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Nuneaton
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Rugby and Kenilworth
Rugby (from 2010)
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Stratford-on-Avon
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Warwick and Leamington
Labour
Labour
Labour
Conservative
Conservative
Labour
Labour
1 MP sat as Independent Labour from Oct 2006
Constituency
1997
2001
2005
2010
2015
2017
2019
City of York
York Central (from 2010)
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Harrogate and Knaresborough
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Conservative
Richmond (Yorks)
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Ryedale
Thirsk and Malton (from 2010)
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Scarborough and Whitby
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Selby
Selby and Ainsty (from 2010)
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Skipton and Ripon
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Vale of York / York Outer (2010)
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
Conservative
1 MP sat as an independent May 2010 - Feb 2011
2 MP sat as an independent Oct 2010 - Jul 2012
Constituency
1997
2001
2005
2010
2015
2017
2019
Batley and Spen
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Bradford North
Bradford East (from 2010)
Labour
Labour
Labour
Liberal Democrat
Labour
Labour
Labour
Bradford South
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Bradford West
Labour
Labour
Labour
Labour1
Labour
Labour
Labour
Calder Valley
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Colne Valley
Labour
Labour
Labour
Conservative
Conservative
Labour
Conservative
Dewsbury
Labour
Labour
Labour
Conservative
Labour
Labour
Conservative
Elmet
Elmet and Rothwell (from 2010)
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Halifax
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Hemsworth
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Huddersfield
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Keighley
Labour
Labour
Labour
Conservative
Conservative
Labour
Conservative
Leeds Central
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Leeds East
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Leeds North East
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Leeds North West
Labour
Labour
Liberal Democrat
Liberal Democrat
Liberal Democrat
Labour
Labour
Leeds West
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Morley and Rothwell
Morley and Outwood (from 2010)
Labour
Labour
Labour
Labour
Conservative
Conservative
Conservative
Normanton
Labour
Labour
Labour
Pontefract and Castleford
Normanton, Pontefract and Castleford (from 2010)
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Pudsey
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Shipley
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Wakefield
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
1 seat won by Respect in a 2012 by-election
Constituency
1997
2001
2005
2010
2015
2017
2019
Belfast East
Democratic Unionist
Democratic Unionist
Democratic Unionist
Alliance
Democratic Unionist
Democratic Unionist
Democratic Unionist
Belfast North
Ulster Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Sinn Féin
Belfast South
Ulster Unionist
Ulster Unionist1
SDLP
SDLP
SDLP
Democratic Unionist
SDLP
Belfast West
Sinn Féin
Sinn Féin
Sinn Féin
Sinn Féin
Sinn Féin
Sinn Féin
Sinn Féin
East Antrim
Ulster Unionist
Ulster Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
East Londonderry
Ulster Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Fermanagh & South Tyrone
Ulster Unionist
Sinn Féin
Sinn Féin
Sinn Féin
Ulster Unionist
Sinn Féin
Sinn Féin
Foyle
SDLP
SDLP
SDLP
SDLP
SDLP
Sinn Féin
SDLP
Lagan Valley
Ulster Unionist
Ulster Unionist3
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Mid Ulster
Sinn Féin
Sinn Féin
Sinn Féin
Sinn Féin
Sinn Féin
Sinn Féin
Sinn Féin
Newry & Armagh
SDLP
SDLP
Sinn Féin
Sinn Féin
Sinn Féin
Sinn Féin
Sinn Féin
North Antrim
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
North Down
UK Unionist
Ulster Unionist
Ulster Unionist
Independent
Independent
Independent
Alliance
South Antrim
Ulster Unionist
Ulster Unionist2
Democratic Unionist
Democratic Unionist
Ulster Unionist
Democratic Unionist
Democratic Unionist
South Down
SDLP
SDLP
SDLP
SDLP
SDLP
Sinn Féin
Sinn Féin
Strangford
Ulster Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Upper Bann
Ulster Unionist
Ulster Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
Democratic Unionist
West Tyrone
Ulster Unionist
Sinn Féin
Sinn Féin
Sinn Féin
Sinn Féin
Sinn Féin
Sinn Féin
1 MP sat as an independent from Jun 2003 - Jan 2004
2 MP sat as an independent from Jun 2003 - Jan 2004
3 MP sat as an independent from Jun 2003 and defected to the Democratic Unionists in Jan 2004
The Fifth Periodical Review of the Boundary Commission for Scotland related the boundaries of new constituencies to those of Scottish local government council areas and to local government wards. Apart from a few minor adjustments, the council area boundaries dated from 1996 and the ward boundaries dated from 1999. Some council areas were grouped to form larger areas and, within these larger areas, some constituencies straddle council area boundaries.
1 MP sat as an independent from Sep 2015
Strathclyde (32 then 25)
1 MP sat as an independent from Nov 2015
2 seat gained by the SNP in a Jul 2008 by-election
3 seat gained by Labour in a Nov 2009 by-election
4 MP defected to the Respect Party in Jan 2004
Tayside (6 then 7)
Central (4 then 2)
Constituency
1997
2001
2005
2010
2015
2017
2019
Falkirk East
Labour
Labour
Falkirk West
Falkirk (from 2005)
Labour
Labour
Labour
Labour1
SNP
SNP
SNP
Ochil
partially in Tayside 1997–2005
Labour
Labour
Stirling
Labour
Labour
Labour
Labour
SNP
Conservative
SNP
1 MP sat as an independent from Feb 2012
1 seat gained by the Liberal Democrats in a Feb 2006 by-election
Grampian (7 then 6)
Constituency
1997
2001
2005
2010
2015
2017
2019
Aberdeen Central
Labour
Labour
Aberdeen North
Labour
Labour
Labour
Labour
SNP
SNP
SNP
Aberdeen South
Labour
Labour
Labour
Labour
SNP
Conservative
SNP
Banff and Buchan
SNP
SNP
SNP
SNP
SNP
Conservative
Conservative
Gordon
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
SNP
Conservative
SNP
Moray
SNP
SNP
SNP
SNP
SNP
Conservative
Conservative
West Aberdeenshire and Kincardine
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
SNP
Conservative
Conservative
Highland (5)
Gwynedd (4 then 3)
Constituency
1997
2001
2005
2010
2015
2017
2019
Caernarfon
Arfon (from 2010)
Plaid Cymru
Plaid Cymru
Plaid Cymru
Plaid Cymru
Plaid Cymru
Plaid Cymru
Plaid Cymru
Conwy (partially in Clwyd 2003–2010)
Labour
Labour
Labour
Meirionnydd Nant Conwy (partially in Clwyd 2003–2010)
Dwyfor Meirionnydd (from 2010)
Plaid Cymru
Plaid Cymru
Plaid Cymru
Plaid Cymru
Plaid Cymru
Plaid Cymru
Plaid Cymru
Ynys Môn
Plaid Cymru
Labour
Labour
Labour
Labour
Labour
Conservative
Votes:
Party
1997
2001
2005
2010
2015
2017
2019
Labour
Conservative
Liberal Democrat
Plaid Cymru
UKIP
Green
Clwyd (6 then 7)
Constituency
1997
2001
2005
2010
2015
2017
2019
Aberconwy
Conservative
Conservative
Conservative
Conservative
Alyn and Deeside
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Clwyd South (partially in Powys until 2010)
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Clwyd West
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Delyn
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Vale of Clwyd
Labour
Labour
Labour
Labour
Conservative
Labour
Conservative
Wrexham
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
In 2003 the border between Gwynedd and Clwyd was shifted. Conwy and Meirionydd Nant Conwy went from being entirely within Gwynedd to being split between Gwynedd and Clwyd.
Dyfed (5)
Constituency
1997
2001
2005
2010
2015
2017
2019
Carmarthen East and Dinefwr
Labour
Plaid Cymru
Plaid Cymru
Plaid Cymru
Plaid Cymru
Plaid Cymru
Plaid Cymru
Carmarthen West and South Pembrokeshire
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Ceredigion
Plaid Cymru
Plaid Cymru
Liberal Democrat
Liberal Democrat
Liberal Democrat
Plaid Cymru
Plaid Cymru
Llanelli
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Preseli Pembrokeshire
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Votes:
Party
1997
2001
2005
2010
2015
2017
2019
Labour
92,958
67,289
59,224
53,756
52,090
Conservative
39,084
38,155
40,683
51,901
52,002
Liberal Democrat
22,597
22,307
31,761
38,299
16,836
Plaid Cymru
47,082
52,105
50,164
43,462
41,059
UKIP
23,416
Green
6,610
Powys (2)
Constituency
1997
2001
2005
2010
2015
2017
2019
Brecon and Radnorshire
Liberal Democrat
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Montgomeryshire
Liberal Democrat
Liberal Democrat
Liberal Democrat
Conservative
Conservative
Conservative
Conservative
West Glamorgan (5)
Constituency
1997
2001
2005
2010
2015
2017
2019
Aberavon
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Gower
Labour
Labour
Labour
Labour
Conservative
Labour
Labour
Neath
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Swansea East
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Swansea West
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Mid Glamorgan (6)
Constituency
1997
2001
2005
2010
2015
2017
2019
Bridgend (partly in South Glamorgan until 2010)
Labour
Labour
Labour
Labour
Labour
Labour
Conservative
Cynon Valley
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Merthyr Tydfil and Rhymney (partly in Gwent)
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Ogmore
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Pontypridd (partly in South Glamorgan until 2010)
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Rhondda
Labour
Labour
Labour
Labour
Labour
Labour
Labour
South Glamorgan (5)
Constituency
1997
2001
2005
2010
2015
2017
2019
Cardiff Central
Labour
Labour
Liberal Democrat
Liberal Democrat
Labour
Labour
Labour
Cardiff North
Labour
Labour
Labour
Conservative
Conservative
Labour
Labour
Cardiff South and Penarth
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Cardiff West
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Vale of Glamorgan
Labour
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Gwent (7)
Constituency
1997
2001
2005
2010
2015
2017
2019
Blaenau Gwent
Labour
Labour
Independent
Labour
Labour
Labour
Labour
Caerphilly
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Islwyn
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Monmouth
Labour
Labour
Conservative
Conservative
Conservative
Conservative
Conservative
Newport East
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Newport West
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Torfaen
Labour
Labour
Labour
Labour
Labour
Labour
Labour
Seats:
Party
1997
2001
2005
2010
2015
2017
2019
Labour
34
34
29
26
25
28
22
Conservative
3
8
11
8
14
Liberal Democrat
2
2
4
3
1
Plaid Cymru
4
4
3
3
3
4
4
Independent
1
See also
UK regions and nations English counties Historic counties History of constituency boundaries in By years