Rome2Rio

How to get fromMadrid to Barcelona (Station)by train (Renfe, Ouigo), bus, car, or plane

Find Transport to Barcelona (Station)

See all options

There are 4 ways to get from Madrid to Barcelona (Station) by train (Renfe, Ouigo), bus, car, or plane

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.

  1. Train

    best
    1. Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain train Ave
    3h 44m
    €55–170
  2. Bus

    cheapest
    1. Take the bus from Madrid, Avenida de América to Barcelona, Estación de Autobuses de Santsbus bus ALSA - Ma-Z-Ba
    8h 11m
    €50–75
  3. Drive 603.8 km

    1. Drive from Madrid to Barcelona (Station)car car 603.8 km
    6h 5m
    €96–138
  4. Fly

    1. Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Barcelona–El Prat Airport (BCN)plane plane MAD - BCN
    3h 3m
    €57–148

Adolfo Suárez Madrid–Barajas Airport (MAD) to Barcelona–El Prat Airport (BCN) flights

Calendar76Weekly Planes
Duration1h 28mAverage Duration
Ticket€48Cheapest Price
See schedules

Questions & Answers

What companies run services between Madrid, Spain and Barcelona (Station), Catalonia, Spain?

Renfe AVE operates a train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants every 30 minutes. Tickets cost €95–170 and the journey takes 3h 22m. Three other operators also service this route. Alternatively, 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.

Airlines
Train operators
Bus operators

Want to know more about travelling around Spain

Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.

Related travel guides

More Questions & Answers