Rome2Rio

Madrid to Barcelona buses

Find Transport to Barcelona

View schedule

Trip Overview

The average bus between Madrid and Barcelona takes 15h 13m and the fastest bus takes 10h 42m. The bus runs, on average, 5 times per week from Madrid to Barcelona. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.

15h 13m
Duration
633 km
Distance
€63
Average price
5 times a week
Frequency

Madrid to Barcelona bus times

Buses run 5 times a week between Madrid and Barcelona. The earliest departure is at 10:15 PM at night, and the last departure from Madrid is at 11:45 PM which arrives into Barcelona at 9:00 AM. All services require a transfer at Gregorio Marañón and take an average of 15h 13m. The schedules shown below are for the next available departures.

Departing Friday, October 30, 2026

  •  → 

    Arrives next day

    Empresa Municipal de TransportesBlaBlaCar Bus10h 45m • 1 change
  •  → 

    Arrives +2 days

    Empresa Municipal de TransportesBlaBlaCar Bus33h 15m • 1 change

Departing Sunday, November 1, 2026

  •  → 

    Arrives next day

    Empresa Municipal de TransportesBlaBlaCar Bus10h 42m • 1 change

Departing Monday, November 2, 2026

  •  → 

    Arrives next day

    Empresa Municipal de TransportesBlaBlaCar Bus10h 42m • 1 change

Departing Wednesday, November 4, 2026

  •  → 

    Arrives next day

    Empresa Municipal de TransportesBlaBlaCar Bus10h 45m • 1 change

Frequently asked questions

Want to know about travelling from Madrid to Barcelona? 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.

Map of how to get from Madrid to Barcelona.ExpandLaunch map view
  • Distance: 632.7 km
  • Duration: 15h 13m

What companies run services between Madrid, Spain and Barcelona, Spain?

ALSA operates a bus from Madrid, Avenida de América to Barcelona, Estació d'Autobusos Nord every 3 hours. Tickets cost €50–85 and the journey takes 8h 5m.

Operators