Travel safely - Get the latest travel advice and booking info here


The best prices from hundreds of train and coach companies

Join millions of people who use us every day

Travel to thousands of destinations in 45 countries

Barcelona to Milan by train

It takes an average of 19h 12m to travel from Barcelona to Milan by train, over a distance of around 451 miles (726 km). There are normally 4 trains per day travelling from Barcelona to Milan and tickets for this journey start from €90 when you book in advance.
Journey timeFrom 11h 45m
Price€90 - €325.40
Distance451 miles (726 km)
Frequency4 trains per day
Departure stationBarcelona
Arrival stationMilan
Changes2 changes
Train and bus operatorsUnion Ivkoni (Bus), Flixbus

Barcelona to Milan train times

Check out the next trains departing from Barcelona to Milan for Tuesday 26th Jan 2021. For the full train timetable/schedule, or to search for a later time or date, click here.
10:05 21:50 11h 45m, 2 changes
11:29 08:14 20h 45m, 6 changes
15:29 13:50 22h 21m, 4 changes
15:50 13:50 22h 00m, 5 changes

Cheap train tickets from Barcelona to Milan

Train tickets from Barcelona to Milan start at €90 one-way for a Standard Class ticket if you book in Advance, however, if you're booking last-minute tickets on the day, the average price is around €242.54.
lowest price found
4 weeksin advance
avg. single price140.40
2 weeksin advance
avg. single price171.47
on the day
avg. single price242.54

Book in advance

Most of the train companies across Europe release their tickets around three to six months in advance, many of which can be cheaper the earlier you book. If you know the dates you want to travel, you may be able to find some cheaper train tickets from Barcelona to Milan by booking early.§

Be flexible with your travel times

Many of the train services in Europe are also popular commuter services, lots of train companies increase ticket prices during “peak hours” (generally between 06:00 – 10:00 and 15:00 – 19:00 on weekdays). If you can, consider travelling outside of peak hours to find lower priced tickets.

Choose a slower or connecting train

On some of the busier routes, you might also have the option to take a slower or connecting train. It may take a little longer than some high-speed or direct services, but if you have a little extra time on your hands, you might find a cheaper fare. Plus, you'll have more time to enjoy the view of the countryside!

Look out for special deals

Take a look at our handy guide to check when European train operators release their special deals and offers to see if you can find cheap tickets for your journey.

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.

Journey details

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

How long does the train from Barcelona to Milan take?

The average journey time by train between Barcelona and Milan is 19 hours and 12 minutes, with around 4 trains per day. The journey time may be longer on weekends and holidays, so use our Journey Planner on this page to search for a specific travel date.

What's the fastest journey time between Barcelona and Milan by train?

The fastest journey time by train from Barcelona to Milan is 11 hours and 45 minutes.

How much does the train from Barcelona to Milan cost?

Train ticket prices from Barcelona to Milan can start from as little as €90 when you book in advance. The cost of tickets can vary depending on the time of day, route and class you book and are usually more expensive if you book on the day.

Is there a direct train from Barcelona to Milan?

No, there are no direct train services from Barcelona to Milan. Travelling from Barcelona to Milan by train will require a minimum of 2 changes.

What time does the first train from Barcelona to Milan leave?

The first train from Barcelona to Milan leaves at 10:05. Times and services may vary during weekends and holidays.

What time does the last train from Barcelona to Milan leave?

The last train from Barcelona to Milan leaves at 15:50. Trains that depart in the early morning hours or very late evening may be sleeper services, time and services may also vary during weekends and holidays.

What's the distance between Barcelona and Milan by train?

Trains travelling from Barcelona to Milan cover a distance of around 451 miles (726 km) during the journey.

Looking for more information?

If you’re looking for the return train journey, check out trains from Milan to Barcelona. If you’re looking for other options, you can also catch the bus from Barcelona to Milan.
Average prices for adult tickets in economy. Discount cards and coach journey excluded. Prices are based on searches made by our customers over the past 6 months. "14 days in advance" includes days 13 and 15. / The information provided is calculated based on scheduled train services for Barcelona to Milan for a typical week day using timetable data for 26/01/2021. On weekends, holidays or other exceptional times, fewer services may be available. The fare range provided has been found by our customers on Trainline on 11/01/2021 for travel on 21/11/2020 and for adult tickets in economy, discount cards and coach journeys excluded.

Europe’s leading train and coach app

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

Go to app store