Book a Japan autumn by train – browse the full suite of Japan Rail Passes, here.

RailcardsBusiness

No tickets in your basket.

Why not plan a trip?

My Bookings
Loading...
Loading...
Trenitalia
Italo

Compare prices from over 270 rail and coach companies in Europe

Icon of trainline-phone-tickets.svg

Buy your tickets with us and easily find them on your phone

Icon of trainline-safe-payments.svg

Safely pay with PayPal, Visa and all international payment cards

What customers say about Trainline

Read real reviews from real users

Travel from Milano Porta Garibaldi to Barcelona by train in 12 hours 23 minutes

If you want to know more about the journey from Milano Porta Garibaldi to Barcelona by train, look no further!

The average journey time from Milano Porta Garibaldi to Barcelona by train is 19 hours 39 minutes, although on the fastest services it can take just 12 hours 23 minutes. Around 11 trains per day travel the 451 miles (726 km) between these two destinations. You'll need to make 1 change along the way to Barcelona.

Book train tickets from Milano Porta Garibaldi to Barcelona in advance instead of buying them on the day and you'll snap up the cheapest fares. You can check prices from Milano Porta Garibaldi to Barcelona in our Journey Planner.

Ready to book? Start your search for cheap train tickets with us today. Keep reading for more information, including our timetable where you can view first and last train times, as well as tips on how to find cheap train tickets.

Trains to Barcelona from Milano Porta Garibaldi

First train

06:25

Last train

21:10

Departure stationMilano Porta Garibaldi
Arrival stationBarcelona
Journey time

From 12h 23m

Distance

451 miles (726 km)

Frequency

11 trains per day

Changes

1 change

Train and bus operators

ALSA, BlaBlaCar Bus, Flixbus

What do people frequently ask about the train journey from Milano Porta Garibaldi to Barcelona?

Want to know more about your journey from Milano Porta Garibaldi to Barcelona? We've compiled some of the most frequently asked questions by our customers to help you plan your journey.

How do you travel to Barcelona from Milano Porta Garibaldi?

To get to Barcelona from Milano Porta Garibaldi, why not take the train? With 11 trains per day and an average journey time of 19 hours and 39 minutes, taking the train is a great way to travel. See our Journey Planner for up-to-date times and prices.

How long does it take to get from Milano Porta Garibaldi to Barcelona by train?

On average, it takes around 19 hours and 39 minutes to travel from Milano Porta Garibaldi to Barcelona by train, although you can get there in 12 hours and 23 minutes on the fastest services. With 11 trains per day running on this route, journey times may vary, so check our Journey Planner for more information.

How fast can trains travel from Milano Porta Garibaldi to Barcelona?

The fastest time a train can travel the 451 miles (726 km) from Milano Porta Garibaldi to Barcelona is 12 hours and 23 minutes.

Are there any direct trains from Milano Porta Garibaldi to Barcelona?

There are no direct trains that run between Milano Porta Garibaldi and Barcelona. You’ll need to make at least 1 change along the way.

What are the train times from Milano Porta Garibaldi to Barcelona?

Check out the next trains departing from Milano Porta Garibaldi to Barcelona for Tuesday 21st October 2025. For the full train timetable/schedule, or to search for a later time or date, click here.
DepartsArrivesDuration
05:2518:3313h 8m, 1 change
06:1018:3312h 23m, 3 changes
14:5311:3220h 39m, 5 changes
15:1011:3820h 28m, 3 changes
18:1013:2919h 19m, 3 changes
19:0517:0522h 0m, 6 changes
19:0517:4022h 35m, 5 changes
19:4317:0521h 22m, 7 changes
19:4317:4021h 57m, 6 changes
20:1017:0520h 55m, 8 changes

How do I find cheap train tickets from Milano Porta Garibaldi to Barcelona?

If you’re planning a trip to Europe soon, our Trainline team of experts have put together some tips to help you find cheap tickets. Booking on the day in Europe is usually more expensive and costs can vary depending on the time of day, route or travel class.

1. Book in advance

The price of train tickets from Milano Porta Garibaldi to Barcelona starts at § one-way for a Standard Class ticket if you book in advance. Most train companies across Europe release their tickets around three to six months ahead of time, so if you know the dates you want to travel, you may be able to find cheaper tickets.

2. Be flexible with your travel times

If you can, consider travelling outside of 'peak hours' (generally between 06:00 - 10:00 and 15:00 - 19:00 on weekdays) as many train companies increase their ticket prices during these commuter times.

3. Buy a rail pass

If you're visiting multiple locations on your trip, buying a rail pass can be cheaper than buying individual tickets. We're official retailers of Interrail Passes that are valid for travel within one country or multiple countries across Europe.

4. Choose a slower or connecting train

On some busier routes, you might have the option to take a slower or connecting train. It may take longer than some high-speed or direct services, but if you have some extra time on your hands, you might find a cheaper fare.

5. Look out for train ticket sales and discounts

Many train companies in Europe will often run sales on tickets throughout the year or offer discounts to senior/youth/group travellers, so keep an eye out!

6. Take a night train

Save on accommodation and use the night to travel by sleeper train to your next destination.

For specific information about how to get your hands on cheap tickets, check out our European train tickets hub.

§Some train companies may not offer any Advance ticket types or cheaper deals for early bookings. On rare occasions, train companies may choose to release special offers closer to the date on last-minute or late-release tickets. This is dependent on the individual train operating company you travel with.

Europe’s leading train and coach app

We help customers across Europe make more than 172,000 smarter journeys every day.