Milan (Milano) is the main city of northern Italy and a principal economic hub. It is located 830km south of Amsterdam.
Let's review the various transport options for travel between these 2 cities...
1. Amsterdam-Milan by Air
Milan has 2 main airports - the large Malpensa airport (MXP) which is some distance outside the city and the more central Linate airport (LIN). Flights between Amsterdam Schiphol (AMS) and Milan take around 1 hour 40 minutes.
Skyteam codeshare partners KLM and Alitalia dominate this route with 6x daily flights to LIN.
KLM flies 4x daily using Boeing 737 aircraft whilst Alitalia flies twice daily using Airbus A320 aircraft. Prices start from around €100 return.
No frills airline Easyjet flies up to 4x daily from AMS to MXP and 1x daily to LIN with return prices available for just under €100 when you add in the luggage and booking fees.
Other airlines which fly indirectly are Air France (via Paris), Lufthansa (via Frankfurt or Munich), Swiss (via Zurich), Austrian (via Vienna) and Czech Air (via Prague).
2. Amsterdam-Milan by Train
There are no direct train services from Amsterdam to Milan or Italy. Probably the best way to travel by rail is to take the overnight City Night Line train from Amsterdam to Zürich Hauptbahnhof. This departs Amsterdam Central every night at 2031 and arrives at Zurich station the next morning at 0805.
One-way prices for the City Night Line start at €29 for seat only, €49 for a couchette and €79 for an economy sleeper. A deluxe 2 bed sleeper starts from €119 and a deluxe single sleeper from €199 - sleepers come with breakfast included; deluxe sleepers have ensuite facilities. Note that the CityNightLine services are due to be scrapped from 2017.
From Zürich Hauptbahnhof you can then take a Eurocity train across the Alps (Gotthard Pass) to Milano Centrale - this journey runs 6x daily and takes 4 hours. This will cost from CHF 25 (about €20) if booked in advance.
For the return journey the City Night Line leaves Zürich HB at 2142 and arrives at Amsterdam Central at 0934.
There are some other Amsterdam-Milan rail alternatives although note, you will probably have to buy separate tickets for the various legs:
Night train via Paris: Take an afternoon Thalys from Amsterdam to Paris Nord and transfer to Paris Gare de Lyon station. From there take the Venice-bound Thello overnight train which departs at 1911 and arrives in Milan at 0550. Coming back from Milan the Thello overnight train departs at 2305 and arrives at Paris Lyon at 0955 - you then connect to Paris Nord for a Thalys back to Amsterdam. Singles for either Thalys or Thello start at €35.
Day Journey via French TGV: Travel during the day by taking a morning Thalys train from Amsterdam to Paris Nord, then transfer to Paris Lyon where you take the TGV to Milano Centrale (1441 to 2150). In reverse the TGV departs Milan at 0600 arriving at Paris Lyon at 1319 - giving plenty of time to catch a Thalys back to Amsterdam. TGV fares start from €29.
Day Journey via Germany: There are also a few options to travel during the day via Germany. For example, take the 0805 Basel-bound ICE train from Amsterdam to Mannheim, then connect onto another ICE train to Zurich. Singles from €29 for each leg. From Zurich get the Eurocity train to Milan. This trip takes around 13 hours and would get you into Milan at around 2130.
3. Amsterdam-Milan by Coach
Eurolines runs a daily (overnight) coach service from its Amsterdam Duivendrecht terminal to Milan (Lampugnano coach station). The journey takes 20-24 hours and single fares start from around €36.
Flixbus also sells Amsterdam-Milan coach tickets - there are up to 4x daily services which all require a change of bus in Germany. The trips take 17-21 hours and singles start at €48.
Looking for a convenient hotel in Milan? Please click here to check with with Booking.com, which offers guaranteed low rates, unbiased reviews and no booking fees. Or for hotels in Amsterdam click here