Madrid and Barcelona are 386 miles (620 km) apart, and the quickest way to make the trip is by plane, which will take just over an hour. There are other options to consider, including by train, car, and bus, depending on your preference.
If you travel by car, you will have the luxury of sightseeing along the way, with stops at Parque Natural del Alto Tajo and in Zaragoza. Riding the bus is the longest option available and takes 8.5 hours.
Duration: 1 hour and 15 minutes
Flying is the quickest way to get from Madrid to Barcelona, and the most convenient. Direct flights are offered by several airlines, and there are numerous flights each day.
Duration: 2.5 hours
A scenic trip that partially hugs the Mediterranean Coast, a train ride will transport you from Madrid to Barcelona in 2.5 hours. The Renfe train runs every half-hour, with the last train departing in the later evening. The high-speed trains are called “Ave,” and prices are reasonable. You can purchase tickets online (and print them out), via the Renfe app, or at the train station.
You may have the option to select a "flexible" fare, which allows you to modify your trip if needed. Make sure to be seated on the train at least 5-10 minutes prior to departure.
By Rental Car or Private Transfer
Duration: 6 hours, more with stops
If you prefer to do some sightseeing your own, renting a car is the recommended method to travel from Madrid to Barcelona. There are many rental car services to reserve in Madrid. Small rental cars are popular choices, since streets are often very narrow, and parking can be hard to find when you plan to stop.
Begin your journey on E90, and 45 minutes in, stop at Parque Natural del Alto Tajo for a visit. Then, hop back on to E90 to A2 for another 2.5 hours, and you will arrive in Zaragoza, which is the capital of Aragón and the fifth-largest city in Spain. It is also home to the Collection Ibercaja Museum Zaragoza Goya. Zaragoza is also a hotspot for Moorish architecture. After exploring, you can choose to spend the night or continue on to Barcelona, which is another 3.5 hours away.
Duration: 8.5 hours
By bus, this journey will take 8.5 hours. The bus typically departs each day in the late afternoon and arrives in the middle of the night in Barcelona (keep in mind, it does not run on Sundays). There are two companies that operate this route: Alsa and Eurolines FR. If you plan to travel by bus, be sure to factor in a post-midnight arrival when making your travel plans.