Barcelona is served by three airports.
The 'proper' (wonderfully named 'El Prat') Barcelona Airport, from where you can reach the city centre very quickly by train, is served as follows:
BA from Gatwick, Heathrow, London City (seasonal) & Glasgow (seasonal).
easyJet from Belfast, Liverpool, Bristol, Gatwick, Luton, Southend & Newcastle.
Jet2 from Leeds-Bradford, Glasgow and seasonally from Manchester.
Monarch from Birmingham, Gatwick, Manchester and seasonally from Leeds-Bradford.
Norwegian Air Shuttle from Gatwick
Ryanair from Birmingham, Prestwick (but Ryanair are expected to pull out of there and operate from Glasgow instead), Liverpool, Stansted, Manchester and seasonally from East Midlands & Edinburgh.
Vueling from Gatwick and seasonally from Edinburgh.
Reus Airport is about 1 hour from central Barcelona by direct coach. It is served from the UK as follows:
Jet2 (all seasonally) from Belfast International, Blackpool, East Midlands, Edinburgh, Glasgow, Leeds-Bradford, Manchester and Newcastle.
Ryanair all year round from Stansted and seasonally from Birmingham, Bristol, East Midlands, Prestwick (see note above), Liverpool, Luton and Manchester.
Thomas Cook (all seasonal) from Aberdeen, Belfast International, Birmingham, Bristol, Cardiff, Edinburgh, Glasgow, Gatwick, Manchester and Newcastle.
Thomson (all seasonal) from Belfast International, Birmingham, Bristol, Cardiff, Doncaster/Sheffield, Glasgow, Gatwick, Luton, Manchester and Newcastle.
Girona Airport is also about 1 hour from central Barcelona by direct coach. It is served from the UK as follows:
Ryanair all year round from Bournemouth, Leeds-Bradford, Stansted and Manchester. Seasonally from Bristol, East Midlands, Luton and Newcastle.
Thomson (all seasonal) from Birmingham, Gatwick and Manchester.