Madrid to Barcelona by train
Trains between Madrid and Barcelona run within the Spain national rail network. The typical end-to-end journey is around 2h 48m.
Operators on this corridor include Renfe (AVE).
Train fares are dynamic — typical range is €45 to €131. Advance-purchase tickets (1–2 months ahead) almost always beat walk-up prices.
On routes under 600 km like this one, train often beats flight door-to-door once you factor in airport check-in and transfers.
Climate footprint: about 7.0 kg CO₂ per passenger by train vs roughly 79 kg by flight — taking the train saves ~72 kg on this distance.