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 with 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 the very elegant 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, a station which is so dismal that it makes arriving here from Paris a real anti-climax. Italo high-speed services (to Rome, Naples, Bologna, Florence and Turin), which previously ran from Porta Garibaldi now all leave from the very much nicer Centrale station; 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, since December 2017, to Mannheim and Frankfurt-am-Main in Germany.

Search accommodation in Milan

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

London to Milan by train

from $90.79

Avg 1 change 10hr 40m

Paris to Milan by train

from $33.89

Avg 0 change 7hr 5m

Florence to Milan by train

from $9.33

Avg 0 change 1hr 29m

Venice to Milan by train

from $11.51

Avg 0 change 2hr

Rome to Milan by train

from $19.05

Avg 0 change 2hr 46m

Verona to Milan by train

from $12.15

Avg 0 change 1hr 4m

Geneva to Milan by train

from $45.39

Avg 0 change 3hr 58m

Zurich to Milan by train

from $33.89

Avg 0 change 3hr 22m

Marseille to Milan by train

from $31.58

Avg 0 change 7hr 19m

Basel to Milan by train

from $45.39

Avg 0 change 4hr 6m

Margate to Milan by train

from $386.05

Avg 2 change 12hr 30m

Turin to Milan by train

from $9.21

Avg 0 change 45m

Ventimiglia to Milan by train

from $11.64

Avg 0 change 3hr 38m

Strasbourg to Milan by train

from $87.21

Avg 1 change 5hr 46m

Cannes to Milan by train

from $17.52

Avg 0 change 5hr 10m

Show more

Lyon to Milan by train

from $34.53

Avg 0 change 5hr 19m

Lille to Milan by train

from $60.74

Avg 1 change 9hr 24m

Interlaken to Milan by train

from $48.59

Avg 1 change 3hr 7m

Brescia to Milan by train

from $12.15

Avg 0 change 36m

Peschiera del Garda to Milan by train

from $11.51

Avg 0 change 57m

Pisa to Milan by train

from $11.64

Avg 0 change 3hr 39m

Padua to Milan by train

from $12.15

Avg 0 change 1hr 57m

Bergamo to Milan by train

from $6.52

Avg 0 change 37m

Trieste to Milan by train

from $23.40

Avg 0 change 3hr 42m

Como to Milan by train

from $59.08

Avg 0 change 37m

Nice to Milan by train

from $17.52

Avg 0 change 4hr 35m

Bologna to Milan by train

from $9.33

Avg 0 change 1hr 1m

Genoa to Milan by train

from $10.49

Avg 0 change 1hr 27m

Dijon to Milan by train

from $34.53

Avg 0 change 7hr 3m

Naples to Milan by train

from $33.12

Avg 0 change 4hr 5m

La Spezia to Milan by train

from $11.51

Avg 0 change 2hr 49m

Brig to Milan by train

from $30.69

Avg 0 change 1hr 53m

Lausanne to Milan by train

from $33.89

Avg 0 change 3hr 19m

Parma to Milan by train

from $9.21

Avg 0 change 58m

Bern to Milan by train

from $33.89

Avg 0 change 3hr 3m

Arth-Goldau to Milan by train

from $33.89

Avg 0 change 2hr 42m

Monterosso to Milan by train

from $11.64

Avg 0 change 2hr 48m

Vicenza to Milan by train

from $17.90

Avg 0 change 1hr 40m

Levanto to Milan by train

from $11.64

Avg 0 change 2hr 42m

Chambéry to Milan by train

from $52.43

Avg 0 change 4hr 5m

Ancona to Milan by train

from $15.47

Avg 0 change 2hr 58m

Spiez to Milan by train

from $33.89

Avg 0 change 2hr 32m

Rimini to Milan by train

from $15.47

Avg 0 change 2hr 5m

Rapallo to Milan by train

from $11.64

Avg 0 change 2hr 9m

Bellinzona to Milan by train

from $30.43

Avg 0 change 1hr 39m

Stresa to Milan by train

from $10.23

Avg 0 change 45m

Tirano to Milan by train

from $13.43

Avg 0 change 2hr 26m

Lecco to Milan by train

from $5.75

Avg 0 change 39m

Sestri Levante to Milan by train

from $11.64

Avg 0 change 2hr 26m

Lucerne to Milan by train

from $33.89

Avg 0 change 3hr 17m

Modena to Milan by train

from $11.51

Avg 0 change 1hr 28m

Bari to Milan by train

from $26.73

Avg 0 change 6hr 35m

Piacenza to Milan by train

from $8.06

Avg 0 change 32m

Oulx to Milan by train

from $18.54

Avg 1 change 2hr 20m

Catania to Milan by train

from $46.93

Avg 0 change 19hr 49m

Pavia to Milan by train

from $4.73

Avg 0 change 17m

Novara to Milan by train

from $20.20

Avg 0 change 25m

Olten to Milan by train

from $45.65

Avg 0 change 3hr 40m

Vezzano Ligure to Milan by train

from $24.55

Avg 1 change 3hr 14m

Vernazza to Milan by train

from $19.18

Avg 1 change 3hr 6m

Desenzano del Garda/Sirmione to Milan by train

from $11.00

Avg 0 change 52m

Chivasso to Milan by train

from $12.53

Avg 0 change 1hr 11m

Monza to Milan by train

from $2.69

Avg 0 change 11m

Domodossola to Milan by train

from $10.61

Avg 0 change 1hr 20m

Ashford to Milan by train

from $90.79

Avg 1 change 10hr 1m

Savona to Milan by train

from $10.49

Avg 0 change 2hr 15m

Barcelona to Milan by train

from $98.46

Avg 2 change 12hr 25m

Valence to Milan by train

from $76.72

Avg 1 change 6hr 25m

Mulhouse to Milan by train

from $78.00

Avg 1 change 4hr 51m

Pontremoli to Milan by train

from $20.59

Avg 1 change 2hr 27m

Malpensa Airport to Milan by train

from $15.47

Avg 0 change 41m

Ferrara to Milan by train

from $26.85

Avg 1 change 1hr 40m

Montreux to Milan by train

from $33.89

Avg 0 change 3hr

Aosta to Milan by train

from $16.62

Avg 2 change 3hr 5m

Ivrea to Milan by train

from $12.79

Avg 1 change 1hr 59m

Country guide

Trains to Italy

Read our country guide

Child and youth passengers

The definition of "Child" and "Youth" varies by country and 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'd love to send you (occasional) emails with travel tips, sales and special offers. You can change your preferences at any time.
  1. By registering you agree with our privacy policy.