Buses from London to Barcelona travel via Figueres and Girona, and arrive 26 hours later (most buses continue to Valencia and Alicante). They are operated by Eurolines ( ) in Britain, and by Iberbus/Linebus and Julia in Spain. Departures are daily at 11am or 9.30am on Wednesdays. In both Britain and Spain tickets are available from many travel agents; Eurolines sells tickets and through-transport to London at all British National Express bus terminals. The standard one-way fare from London to Barcelona is £69; return £106.
The journey is long but quite bearable - just make sure you take along enough to eat, drink and read, and a small amount of French and Spanish currency for coffee stops. There are stops for around twenty minutes every four to five hours, and the routine is also broken by the cross-Channel ferry (included in the cost)