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 €105 return not including luggage.
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 fees.
Spanish no frills carrier Vueling has 1x daily flight from Amsterdam to Mialn Malpensa. Return flights including luggage start at about €90.
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 any other Italian cities). Probably the easiest way to do this journey by day is to travel one stop via Basel, although the transfer times in Basel are a little tight for comfort.
From Amsterdam Central take the 0802 ICE International train which arrives at Basel SBB at 1447. Then take the 1504 Eurocity train to Milano Centrale which arrives at 1945, just under 12 hours total journey time.
Likewise, the Eurocity departs Milan at 1015 arriving in Basel SBB at 1455; the ICE International leaves Basel at 1513, arriving in Amsterdam at 2156.
Amsterdam-Basel ICE one-way fares are from €39 (2nd class) and €69 (1st class), though you should book well in advance. Basel-Milan Eurocity fares start at €19 each way.
Another possibility is to travel via Paris using the high speed Thalys and TGV trains. You have around 2 hours to change station in Paris and grab some lunch.
Take a morning Thalys train from Amsterdam at 0917, arriving at Paris Nord at 1244. 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 (1525 to 1842). TGV fares start from €29, Thalys from €35.
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 1914 and arrives in Milan at 0600.
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 the Thello start at €35 for a 6 berth couchette.
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 €35.
Flixbus also sells Amsterdam-Milan coach tickets - there are up to 6x daily services which all require a change of bus in Germany. The trips take 18-24 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