Buying tickets in advance can save you money. Prices for train journeys from Madrid to Milan start at €275.75 when you book at least 28 days in advance.*
The minimum price of a train ticket from Madrid to Milan is €89. To buy train tickets from Madrid to Milan for the lowest price possible, we recommend that you book your tickets as early as possible. Tickets go on sale usually 3 months in advance, yet in some rare cases this can be up to 6 months. For more precise information on when you can book your tickets or whether there are any promotional sales, click here.
The average journey time between Madrid and Milan is 18 hours and 5 minutes and the fastest journey time is 15 hours and 40 minutes. On an average weekday, there are 2 trains per day travelling from Madrid to Milan. The journey time may be longer on weekends and holidays; use our journey planner on this page to search for a specific travel date.
The first train from Madrid to Milan departs at 06:10. The last train from Madrid to Milan departs at 09:30. Trains that depart in the early morning hours or very late evening may be sleeper services. Alternatively, some popular routes may run throughout the night at a reduced frequency. There may also be less services on weekends and holidays; use our journey planner on this page to search for a specific travel date.
No, it is not possible to travel from Madrid to Milan without having to change trains. To travel from Madrid to Milan will require a minimum of 3 changes. More changes may be necessary on weekends and holidays; use our journey planner on this page to search for a specific travel date.
By train, of course. See trains from Milan to Madrid.