Trains to Milan Find train times and tickets

Milan is Italy’s second-largest city. But locals are quick to tell visitors that Milan is in many respects the country’s first city. It’s certainly the commercial centre of Italy and the powerhouse of the Italian economy. This is a city that drips style and most visitors from northern Europe find themselves feeling conspicuously underdressed.

Milan’s tourist hub is the Piazza del Duomo, from where most of the principal sights are within walking distance. Explore the opulent Galleria Vittorio Emanuele (the antidote to the modern shopping mall), and make time for the city's magnificent parks (such as the Giardini Pubblici).

The main railway station for the city is Milano Centrale, a short distance north-east of the city centre. This is the departure point for most services including the night trains to Munich, Vienna and Paris. But there are important trains that leave from other Milan stations. For example, all daytime TGV services to Paris depart from Milano Porta Garibaldi. Since the start of 2016, all Italo high-speed services (to Rome, Naples, Bologna, Florence and Turin), which previously ran from Porta Garibaldi now leave instead from Centrale; many also serve Rogoredo station. The weekly train to Poland and Russia serves only Rogoredo. The express trains to Milan Malpensa airport depart from yet another station called Cadorna. In a nutshell, it’s complicated. But all these stations are well connected by the Milan metro. Check your Milan station details carefully when you book your train.

Milan has an excellent range of national and international rail links. High-speed trains leave every hour for Bologna, Florence and Rome. There are hourly departures for Verona and Venice. Milan also has direct trains to Genoa and the Ligurian coast – with three trains each day continuing west along the coast to the Côte d’Azur. These services to the French Riviera (operated by Thello) give useful direct links to Nice, Monaco and Marseille. There are excellent services across the Alps with direct daytime trains to Chambéry, Zurich, Geneva, Basel and, from December 2017, to Mannheim and Frankfurt-am-Main in Germany.

Search accommodation in Milan

Airbnb

Travel to Milan by train from anywhere in the UK or across Europe

Modena to Milan by train

from £9.20

Avg 0 changes 1hr 28m

Mannheim to Milan by train

from £93.00

Avg 1 change 6hr 47m

Merano to Milan by train

from £29.00

Avg 2 changes 3hr 59m

Leeds to Milan by train

from £155.00

Avg 2 changes 14hr 10m

Avignon to Milan by train

from £59.10

Avg 1 change 7hr 7m

Domodossola to Milan by train

from £18.50

Avg 0 changes 1hr 20m

Sanremo to Milan by train

from £12.00

Avg 0 changes 3hr 25m

Lausanne to Milan by train

from £26.50

Avg 0 changes 3hr 19m

Sestri Levante to Milan by train

from £12.00

Avg 0 changes 2hr 26m

Fidenza to Milan by train

from £17.20

Avg 0 changes 1hr 7m

Vercelli to Milan by train

from £6.10

Avg 0 changes 40m

Viareggio to Milan by train

from £30.50

Avg 0 changes 3hr 23m

Bellinzona to Milan by train

from £24.00

Avg 0 changes 1hr 39m

Basel to Milan by train

from £36.10

Avg 0 changes 4hr 6m

Pavia to Milan by train

from £3.80

Avg 0 changes 18m

Show more

Strasbourg to Milan by train

from £84.20

Avg 1 change 5hr 46m

Berne to Milan by train

from £27.20

Avg 0 changes 3hr 3m

Paris to Milan by train

from £23.50

Avg 0 changes 7hr 5m

Paris to Milan by train

from £23.50

Avg 0 changes 7hr 5m

Pisa to Milan by train

from £9.30

Avg 0 changes 3hr 39m

Oulx to Milan by train

from £14.60

Avg 1 change 2hr 20m

Brindisi to Milan by train

from £67.20

Avg 0 changes 7hr 45m

Menton to Milan by train

from £14.50

Avg 1 change 4hr 4m

Busto Arsizio to Milan by train

from £3.70

Avg 0 changes 14m

Alassio to Milan by train

from £12.00

Avg 0 changes 2hr 58m

Rimini to Milan by train

from £27.80

Avg 0 changes 2hr 5m

Florence to Milan by train

from £9.10

Avg 0 changes 1hr 37m

Sesto San Giovanni to Milan by train

from £13.30

Avg 1 change 2hr 14m

Montreux to Milan by train

from £54.00

Avg 0 changes 3hr

Birmingham to Milan by train

from £113.90

Avg 2 changes 13hr 21m

Santa Margherita Ligure to Milan by train

from £12.00

Avg 0 changes 2hr 4m

Valence to Milan by train

from £40.50

Avg 1 change 6hr 25m

Chambéry to Milan by train

from £34.00

Avg 0 changes 4hr 5m

Barcelona to Milan by train

from £84.50

Avg 2 changes 12hr 25m

Paris Charles de Gaulle Airport to Milan by train

from £67.00

Avg 1 change 8hr 39m

Ancona to Milan by train

from £12.10

Avg 0 changes 2hr 54m

Albenga to Milan by train

from £17.40

Avg 0 changes 2hr 50m

Lecce to Milan by train

from £37.50

Avg 0 changes 9hr 22m

Montpellier to Milan by train

from £55.50

Avg 1 change 8hr 17m

Aix-les-Bains to Milan by train

from £39.00

Avg 1 change 3hr 49m

York to Milan by train

from £170.00

Avg 2 changes 14hr

Stirling to Milan by train

from £187.50

Avg 2 changes 20hr 43m

Tirano to Milan by train

from £10.70

Avg 0 changes 2hr 26m

Arezzo to Milan by train

from £12.00

Avg 0 changes 2hr 29m

Treviglio to Milan by train

from £3.30

Avg 0 changes 19m

Manarola to Milan by train

from £14.30

Avg 1 change 3hr 11m

Visp to Milan by train

from £26.50

Avg 0 changes 2hr 5m

Bolzano Novarese to Milan by train

from £20.60

Avg 1 change 2hr 56m

Levanto to Milan by train

from £9.20

Avg 0 changes 2hr 46m

Naples to Milan by train

from £37.10

Avg 0 changes 4hr 7m

Monaco Monte Carlo to Milan by train

from £13.90

Avg 0 changes 4hr 18m

Reggio nell'Emilia to Milan by train

from £9.20

Avg 0 changes 51m

Monterosso Almo to Milan by train

from £9.20

Avg 0 changes 2hr 52m

Lucca to Milan by train

from £43.90

Avg 1 change 3hr 33m

Leicester to Milan by train

from £211.50

Avg 2 changes 12hr 52m

Rome to Milan by train

from £9.20

Avg 0 changes 2hr 50m

Annecy to Milan by train

from £40.00

Avg 1 change 5hr 5m

Martigny to Milan by train

from £54.20

Avg 1 change 2hr 54m

Terontola to Milan by train

from £52.30

Avg 0 changes 4hr 45m

Zermatt to Milan by train

from £63.00

Avg 1 change 3hr 24m

Livorno to Milan by train

from £9.30

Avg 0 changes 3hr 55m

Sarzana to Milan by train

from £14.60

Avg 0 changes 2hr 58m

Neuchâtel to Milan by train

from £90.40

Avg 1 change 4hr 4m

Modane to Milan by train

from £23.50

Avg 0 changes 2hr 52m

Pavia to Milan by train

from £3.80

Avg 0 changes 18m

Country guide

Trains to Italy

Read our country guide

Child and youth passengers

The definition of "Child" and "Youth" varies by country and rail operator. This is why we ask for the age of young passengers.

Sometimes children below a certain age can travel without a seat for free. If you want to guarantee a seat for child passengers, enter '6' as the age of the child.

Read more about child and youth passenger ages. See also youth discounts and railcards.

Log in / Register

  1. We'll assume you've read
    our Terms of Service.