..and I much prefer Girona to Barcelona, so fly straight there and ignore Barcelona and Madrid !
Girona: no street crime (or so I've found), less hectic pace of life (daytimes), more hectic pace of life (nightimes - although NOT more hectic than Madrid) plenty of good restaurants, historic sights, old buildings, Jewish and Arab quarters, Cathedral, excellent public transport up and down the coast.
And buy a single ticket on Ryanair, carry-on bag only, no insurance, no priority boarding, and forward your heavy luggage (if any) separately to BCN.
Alternative: Eurostar train London to Paris, TGV Paris to Perpignan. Almost as fast, almost as cheap* (if you buy ticket three months in advance) and luxury you won't believe after flying Ryanair.
Paris last week on the TGV from Perpignan cost €45 each way - first class.
R