The average bus between Madrid and Barcelona Sants Station takes 8h 26m and the fastest bus takes 8h 16m. The bus service runs several times per day from Madrid to Barcelona Sants Station. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Buses run every 3 hours between Madrid and Barcelona Sants Station. The earliest departure is at 6:30 AM in the morning, and the last departure from Madrid is at 11:52 PM which arrives into Barcelona Sants Station at 8:50 AM. All services require a transfer at Prosperidad and take an average of 8h 26m. The schedules shown below are for the next available departures.

8h 31m • 1 change

8h 16m • 1 change

8h 25m • 1 change

8h 18m • 1 change

8h 25m • 1 change

8h 26m • 1 change

8h 20m • 1 change

8h 20m • 1 change

8h 25m • 1 change

8h 26m • 1 change

8h 20m • 1 change

8h 20m • 1 change

8h 25m • 1 change

8h 26m • 1 change

8h 20m • 1 change

8h 20m • 1 change

8h 25m • 1 change

8h 26m • 1 change

8h 20m • 1 change

8h 20m • 1 change
Want to know about travelling from Madrid to Barcelona Sants Station? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct bus from Madrid to Barcelona Sants Station. However, there are services departing from Madrid station and arriving at Barcelona Sants Station station via Barcelona, Estación de Autobuses de Sants. The journey, including transfers, takes approximately 8h 26m.
Madrid to Barcelona Sants Station bus services, operated by Empresa Municipal de Transportes, depart from Madrid, Avenida de América station.
Madrid to Barcelona Sants Station bus services, operated by Empresa Municipal de Transportes, arrive at Barcelona, Estación de Autobuses de Sants station.
The distance between Madrid and Barcelona Sants Station is 501.3 km. The road distance is 629 km.
ALSA operates a bus from Madrid, Avenida de América to Barcelona, Estación de Autobuses de Sants every 3 hours. Tickets cost €50–75 and the journey takes 7h 50m.