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 and Basel.

Search accommodation in Milan

Airbnb

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

Vicenza to Milan by train

from £13.40

Avg 0 changes 1hr 40m

Catania to Milan by train

from £80.90

Avg 0 changes 19hr 49m

Aix-en-Provence to Milan by train

from £45.50

Avg 1 change 7hr 22m

Amsterdam to Milan by train

from £72.50

Avg 1 change 11hr 18m

Antwerp to Milan by train

from £51.00

Avg 1 change 9hr 59m

Bari to Milan by train

from £36.50

Avg 0 changes 6hr 35m

Marano Ticino to Milan by train

from £11.60

Avg 0 changes 41m

Arezzo to Milan by train

from £11.60

Avg 0 changes 2hr 29m

Modena to Milan by train

from £8.90

Avg 0 changes 1hr 28m

Brig to Milan by train

from £16.90

Avg 0 changes 1hr 53m

Santa Margherita Ligure to Milan by train

from £11.20

Avg 0 changes 2hr 4m

Spiez to Milan by train

from £16.90

Avg 0 changes 2hr 32m

Marseille to Milan by train

from £22.50

Avg 0 changes 7hr 19m

Zurich to Milan by train

from £7.90

Avg 0 changes 3hr 26m

Chiasso to Milan by train

from £8.70

Avg 0 changes 42m

Show more

Stresa to Milan by train

from £7.70

Avg 0 changes 45m

Aix-les-Bains to Milan by train

from £42.00

Avg 1 change 3hr 49m

Genoa to Milan by train

from £7.90

Avg 0 changes 1hr 27m

Aosta to Milan by train

from £14.70

Avg 2 changes 3hr 5m

Ivrea to Milan by train

from £22.30

Avg 1 change 1hr 59m

Oulx to Milan by train

from £14.40

Avg 1 change 2hr 20m

Ancona to Milan by train

from £11.70

Avg 0 changes 2hr 54m

Monza to Milan by train

from £3.90

Avg 0 changes 11m

Florence to Milan by train

from £17.70

Avg 0 changes 1hr 37m

Pisa to Milan by train

from £11.50

Avg 0 changes 3hr 39m

Perpignan to Milan by train

from £165.40

Avg 2 changes 10hr 56m

Madrid to Milan by train

from £96.00

Avg 2 changes 15hr 40m

Grenoble to Milan by train

from £25.50

Avg 0 changes 4hr 36m

Chambéry to Milan by train

from £25.50

Avg 0 changes 4hr 5m

Modane to Milan by train

from £16.00

Avg 0 changes 2hr 55m

Annecy to Milan by train

from £32.50

Avg 1 change 5hr 5m

Desenzano del Garda to Milan by train

from £8.20

Avg 0 changes 52m

Rome to Milan by train

from £34.50

Avg 0 changes 2hr 38m

Cannes to Milan by train

from £13.20

Avg 0 changes 5hr 12m

Birmingham to Milan by train

from £122.70

Avg 2 changes 13hr 21m

Terontola to Milan by train

from £11.80

Avg 0 changes 4hr 45m

Como to Milan by train

from £4.20

Avg 0 changes 37m

Assisi to Milan by train

from £91.00

Avg 0 changes 6hr 7m

Naples to Milan by train

from £40.50

Avg 0 changes 4hr 12m

Bellinzona to Milan by train

from £17.40

Avg 0 changes 1hr 39m

Fidenza to Milan by train

from £17.20

Avg 0 changes 1hr 15m

Padua to Milan by train

from £13.60

Avg 0 changes 1hr 57m

Voghera to Milan by train

from £5.40

Avg 0 changes 40m

Toulouse to Milan by train

from £78.60

Avg 1 change 10hr 1m

Valence to Milan by train

from £39.00

Avg 1 change 6hr 25m

Alessandria to Milan by train

from £7.20

Avg 0 changes 1hr 8m

Treviglio to Milan by train

from £3.20

Avg 0 changes 19m

Verona to Milan by train

from £8.80

Avg 0 changes 1hr 5m

Bristol to Milan by train

from £179.50

Avg 2 changes 13hr 35m

Levanto to Milan by train

from £16.80

Avg 0 changes 2hr 47m

Sanremo to Milan by train

from £17.70

Avg 0 changes 3hr 25m

Interlaken to Milan by train

from £59.10

Avg 1 change 3hr 7m

Sestri Levante to Milan by train

from £11.50

Avg 0 changes 2hr 26m

Nice to Milan by train

from £13.20

Avg 0 changes 4hr 42m

Bologna to Milan by train

from £9.00

Avg 0 changes 59m

Monterosso Almo to Milan by train

from £8.80

Avg 0 changes 2hr 53m

Bolzano Novarese to Milan by train

from £47.30

Avg 1 change 2hr 56m

Brescia to Milan by train

from £6.50

Avg 0 changes 36m

Mulhouse to Milan by train

from £105.90

Avg 1 change 4hr 51m

Mantova to Milan by train

from £10.30

Avg 0 changes 1hr 37m

Avignon to Milan by train

from £51.60

Avg 1 change 7hr 7m

Cambridge to Milan by train

from £123.50

Avg 2 changes 12hr 35m

Parma to Milan by train

from £8.80

Avg 0 changes 58m

Chiasso to Milan by train

from £8.70

Avg 0 changes 42m

Montpellier to Milan by train

from £30.90

Avg 1 change 8hr 23m

Pescara to Milan by train

from £31.50

Avg 0 changes 4hr 2m

Lecco to Milan by train

from £4.30

Avg 0 changes 39m

Ventimiglia to Milan by train

from £11.50

Avg 0 changes 3hr 38m

Brussels to Milan by train

from £69.00

Avg 1 change 9hr 37m

Lille to Milan by train

from £44.30

Avg 1 change 9hr 24m

Salerno to Milan by train

from £44.70

Avg 0 changes 5hr 10m

Ashford to Milan by train

from £70.50

Avg 1 change 10hr 8m

Rapallo to Milan by train

from £8.70

Avg 0 changes 2hr 9m

Basel to Milan by train

from £16.90

Avg 0 changes 4hr 6m

Strasbourg to Milan by train

from £91.90

Avg 1 change 5hr 46m

La Spezia to Milan by train

from £8.80

Avg 0 changes 2hr 49m

Riomaggiore to Milan by train

from £12.40

Avg 1 change 3hr 17m

Vernazza to Milan by train

from £52.70

Avg 1 change 3hr 7m

Lucca to Milan by train

from £14.70

Avg 1 change 3hr 33m

Berne to Milan by train

from £16.70

Avg 0 changes 3hr 3m

Viareggio to Milan by train

from £20.30

Avg 0 changes 3hr 23m

Cortona to Milan by train

from £40.90

Avg 1 change 3hr 15m

Saint-Raphaël to Milan by train

from £31.20

Avg 0 changes 5hr 38m

Paris Charles de Gaulle Airport to Milan by train

from £67.00

Avg 1 change 8hr 39m

Turin to Milan by train

from £11.10

Avg 0 changes 45m

Toulon to Milan by train

from £134.90

Avg 0 changes 6hr 32m

Zermatt to Milan by train

from £49.00

Avg 1 change 3hr 24m

Rennes to Milan by train

from £95.20

Avg 1 change 10hr 45m

Nîmes to Milan by train

from £51.80

Avg 1 change 7hr 54m

Lecce to Milan by train

from £18.00

Avg 0 changes 8hr 10m

Lyon to Milan by train

from £25.50

Avg 0 changes 5hr 19m

Bergamo to Milan by train

from £4.30

Avg 0 changes 39m

Rimini to Milan by train

from £17.80

Avg 0 changes 2hr 5m

Narbonne to Milan by train

from £80.60

Avg 1 change 9hr 48m

Savona to Milan by train

from £7.90

Avg 0 changes 2hr 15m

Antibes to Milan by train

from £13.60

Avg 0 changes 5hr 2m

Palermo to Milan by train

from £62.30

Avg 0 changes 21hr 51m

London to Milan by train

from £79.00

Avg 1 change 10hr 40m

London to Milan by train

from £79.00

Avg 1 change 10hr 40m

Varenna to Milan by train

from £5.90

Avg 0 changes 1hr 1m

Manchester to Milan by train

from £112.50

Avg 2 changes 13hr 55m

Rotterdam to Milan by train

from £95.60

Avg 1 change 10hr 37m

Trento to Milan by train

from £20.30

Avg 1 change 2hr 25m

Ebbsfleet to Milan by train

from £99.10

Avg 1 change 10hr 23m

Geneva to Milan by train

from £16.70

Avg 0 changes 3hr 58m

Baveno to Milan by train

from £7.90

Avg 0 changes 1hr 37m

Brindisi to Milan by train

from £21.80

Avg 0 changes 7hr 45m

Peschiera del Garda to Milan by train

from £8.80

Avg 0 changes 57m

Pavia to Milan by train

from £3.70

Avg 0 changes 18m

Sesto San Giovanni to Milan by train

from £30.70

Avg 1 change 2hr 14m

Reggio nell'Emilia to Milan by train

from £11.60

Avg 0 changes 51m

Livorno to Milan by train

from £11.40

Avg 0 changes 3hr 55m

Tirano to Milan by train

from £10.30

Avg 0 changes 2hr 26m

Stirling to Milan by train

from £161.00

Avg 2 changes 20hr 43m

Glasgow to Milan by train

from £155.80

Avg 2 changes 17hr 9m

Edinburgh to Milan by train

from £116.10

Avg 2 changes 19hr 20m

Siena to Milan by train

from £20.90

Avg 1 change 3hr 17m

Chiavari to Milan by train

from £23.50

Avg 0 changes 2hr 18m

Trieste to Milan by train

from £17.80

Avg 0 changes 3hr 42m

Paris to Milan by train

from £25.50

Avg 0 changes 7hr 5m

Paris to Milan by train

from £25.50

Avg 0 changes 7hr 5m

Domodossola to Milan by train

from £9.10

Avg 0 changes 1hr 20m

Civitavecchia to Milan by train

from £29.80

Avg 1 change 4hr 8m

Villefontaine to Milan by train

from £87.00

Avg 0 changes 5hr 13m

Dijon to Milan by train

from £49.30

Avg 0 changes 7hr 3m

Barcelona to Milan by train

from £78.90

Avg 2 changes 12hr 25m

Lucerne to Milan by train

from £7.90

Avg 0 changes 3hr 27m

Venice to Milan by train

from £8.80

Avg 0 changes 2hr

Montreux to Milan by train

from £25.90

Avg 0 changes 3hr

Arth to Milan by train

from £8.10

Avg 0 changes 2hr 45m

Margate to Milan by train

from £126.30

Avg 2 changes 12hr 30m

Country guide

Trains to Italy

Read our country guide

Log in / Register

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