There are few places in Spain where buses don’t go. Numerous companies provide bus links, from local routes between villages to fast intercity connections. It is often cheaper to travel by bus than by train, particularly on long-haul runs, but also less comfortable.
Local services can get you just about anywhere, but most buses connecting villages and provincial towns are not geared to tourist needs. Frequent weekday services drop off to a trickle, if they operate at all, on Saturday and Sunday. Often just one bus runs daily between smaller places during the week, and none operate on Sunday. It’s usually unnecessary to make reservations; just arrive early enough to get a seat.
On many regular runs – say, from Madrid to Toledo – the ticket you buy is for the next bus due to leave and cannot be used on a later bus. Advance purchase in such cases is generally not possible. For longer trips (such as Madrid to Seville or to the coast), and certainly in peak holiday season, you can (and should) buy your ticket in advance. On some routes you have the choice between express and stopping-all-stations services.
In most larger towns and cities, buses leave from a single estación de autobuses (bus station). In smaller places, buses tend to operate from a set street or plaza, often unmarked. Locals will know where to go and where to buy tickets.
Bus travel within Spain is not overly costly, but there's a vast range of prices. The trip from Madrid to Barcelona starts from around €21 one way but can cost more than double that. From Barcelona to Seville, which is one of the longest trips (15 to 16 hours), you can pay €88 one way.
People under 26 should inquire about discounts on long-distance trips.
Among the hundreds of bus companies operating in Spain, the following have the largest range of services:
ALSA The biggest player, this company has routes all over the country in association with various other companies. Check online for discounts for advance ticket purchases.
Avanza Operates buses from Madrid to Extremadura, western Castilla y León and Valencia via eastern Castilla-La Mancha (eg Cuenca), often in association with other companies.
Socibus Operates services between Madrid, western Andalucía and the Basque Country.