TrainlineTrainline is Europe’s leading platform for train and bus tickets

Low prices found by our customers
Each fare is the lowest adult economy ticket fare found by our customers on Trainline. Fares booked further in advance than the dates displayed may be cheaper. Prices are updated daily, subject to change and indicative of price last update. Limited availability. Discount cards and coach journeys excluded, prices exclusive of booking fee.

What customers say about Trainline

Read real reviews from real users

Travelling from Madrid to Milan by train

Looking to travel from Madrid to Milan by train? You've come to the right place!

On average, it takes around 22 hours 14 minutes to travel from Madrid to Milan by train, the fastest services can get you there in as little as 16 hours 38 minutes though. You'll usually find 8 trains per day running along the 738 miles (1188 km) route between these two destinations. You’ll need to make 3 changes during the journey to Milan, as there currently aren't any direct services on this route.

Plan your trip ahead of time and book early if you want to snap up the cheapest fares. Tickets from Madrid to Milan start from £132.72 when you book in advance, so use our Journey Planner to view the latest prices.

If you’re feeling ready to book, start looking for cheap train tickets with us today. Keep reading for more information on the journey to Milan by train, including our timetable where you can view first and last train times.

Madrid to Milan by train

It takes an average of 22h 14m to travel from Madrid to Milan by train, over a distance of around 738 miles (1188 km). There are normally 8 trains per day travelling from Madrid to Milan and tickets for this journey start from £132.72 when you book in advance.

First train

06:15

Last train

21:10

Departure station

Madrid

Arrival station

Milan

Journey time

From 16h 38m

Distance

738 miles (1188 km)

Frequency

8 trains per day

Changes

3 changes

Price

From £132.72

Train and bus operators

BlaBlaCar Bus, Jimenez Dorado Autocares

Madrid to Milan train times

Check out the next trains departing from Madrid to Milan for Friday 29th March 2024. For the full train timetable/schedule, or to search for a later time or date, click here.
DepartsArrivesTrainDuration
06:15 Madrid Atocha22:53 Milano Centraleavlo 6301 Get tickets16h 38m, 5 changes
06:15 Madrid Atocha23:10 Milano Porta Garibaldiavlo 6301 Get tickets16h 55m, 3 changes
06:40 Madrid Atocha06:44 Milano Centrale6061 Get tickets24h 4m, 9 changes
10:05 Madrid Atocha08:24 Milano Rogoredo6501 Get tickets22h 19m, 5 changes
10:05 Madrid Atocha08:48 Milano Rogoredo6501 Get tickets22h 43m, 4 changes
13:25 Madrid Atocha11:43 Milano Centraleave 9725 Get tickets22h 18m, 5 changes
13:25 Madrid Atocha12:55 Milano Centraleave 9725 Get tickets23h 30m, 3 changes

Cheap train tickets from Madrid to Milan

The price of train tickets from Madrid to Milan starts at £132.72 one-way for a Standard Class ticket if you book in advance. Booking on the day is usually more expensive and costs can vary depending on the time of day, route or class.

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 Madrid 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 guides to find out when train operators release their special deals and offers to see if you can find cheap European train 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 Madrid 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 Madrid to Milan take?

The average journey time by train between Madrid and Milan is 22 hours and 14 minutes, with around 8 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 Madrid and Milan by train?

The fastest journey time by train from Madrid to Milan is 16 hours and 38 minutes.

How much does the train from Madrid to Milan cost?

Train ticket prices from Madrid to Milan can start from as little as £132.72 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 Madrid to Milan?

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

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

The first train from Madrid to Milan leaves at 06:15. Times and services may vary during weekends and holidays.

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

The last train from Madrid to Milan leaves at 21:10. 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 Madrid and Milan by train?

Trains travelling from Madrid to Milan cover a distance of around 738 miles (1188 km) during the journey.

Looking for more information?

If you’re looking for the return train journey, check out trains from Milan to Madrid.

Europe’s leading train and coach app

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