The average bus between Madrid and Barcelona (Station) takes 8h 26m and the fastest bus takes 8h 16m. The bus service runs several times per day from Madrid to Barcelona (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 (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 (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 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

8h 31m • 1 change

8h 16m • 1 change

8h 25m • 1 change

8h 18m • 1 change
Want to know about travelling from Madrid to Barcelona (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 (Station). However, there are services departing from Madrid station and arriving at Barcelona (Station) station via Barcelona, Estación de Autobuses de Sants. The journey, including transfers, takes approximately 8h 26m.
Madrid to Barcelona (Station) bus services, operated by Empresa Municipal de Transportes, depart from Madrid, Avenida de América station.
Madrid to Barcelona (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 (Station) is 499.7 km. The road distance is 631 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.