There are 12 ways to get from Perth to Milan by bus, plane, train, night train, car, car train, train (Eurostar), or car ferry
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus to Edinburgh Airport, fly to Milan Linate Airport
best- Take the bus from Leonard Street to Airport
- Fly from Edinburgh Airport (EDI) to Milan Linate Airport (LIN)EDI - LIN
5h 27mTrain to Glasgow Airport, fly to Milano Malpensa Airport, train
cheapest- Take the train from Perth to Glasgow Queen Street
- Fly from Glasgow Airport (GLA) to Milano Malpensa Airport (MXP)GLA - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
7h 4m€49–216Train, night train
- Take the train from Perth to Edinburgh Waverley
- Take the train from Edinburgh Waverley to King's Cross
- Take the train from London St. Pancras Int. to Amsterdam Centraal
- Take the night train from Amsterdam Centraal to Zuerich HbNj
- Take the train from Zürich HB to Como S. GiovanniEc
- Take the train from Como S.Giovanni to Milano Porta GaribaldiS11
29h 4m€356–1,201Train, bus
- Take the train from Perth to London Euston
- Take the bus from London Victoria to Paris700
- Take the bus from Paris - Bercy-Seine Bus Station to Milano, Autostazione Lampugnano
31h 52m€123–314Drive, Eurotunnel
- Drive from Perth to Folkestone
- Take the car train from Folkestone to Calais-Fréthun
- Drive from Calais-Fréthun to Milan
19h 55mBus to Edinburgh Airport, fly to Milano Malpensa Airport, train
- Take the bus from Leonard Street to Airport
- Fly from Edinburgh Airport (EDI) to Milano Malpensa Airport (MXP)EDI - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
6h 20mBus to Edinburgh Airport, fly to Il Caravaggio International Airport
- Take the bus from Leonard Street to Airport
- Fly from Edinburgh Airport (EDI) to Il Caravaggio International Airport (BGY)EDI - BGY
6h 11mFly Dundee Riverside Airport to Milan Linate Airport
- Fly from Dundee Riverside Airport (DND) to Milan Linate Airport (LIN)DND - LIN
8h 23m€112–565Train
- Take the train from Perth to Edinburgh Waverley
- Take the train from Edinburgh Waverley to King's Cross
- Take the train from London St. Pancras Int. to Amsterdam Centraal
- Take the train from Amsterdam Centraal to Zürich HB
- Take the train from Zürich HB to Como S. GiovanniEc
- Take the train from Como S.Giovanni to Milano Porta GaribaldiS11
29h 4m€366–1,231Train, bus via Brussels
- Take the train from Perth to Edinburgh Waverley
- Take the train from Edinburgh Waverley to Sheffield
- Take the bus from Sheffield to Brussel Eurolines Busstation
- Take the bus from Brussels-North Station to Milano, Autostazione Lampugnano
32h 8mBus
- Take the bus from Park and Ride to London Victoria
- Take the bus from London Victoria to Luxembourg P+R Bouillon
- Take the bus from Luxembourg, P+R Bouillon to Milano, Autostazione Lampugnano
32h 51m€96–262Drive, car ferry
- Drive from Perth to Port of Dover
- Take the car ferry from Port of Dover to Calais
- Drive from Calais to Milan
20h 56m€321–462
Perth to Milan by train and night train
Questions & Answers
The cheapest way to get from Perth to Milan is to train and fly which costs €45 - €220 and takes 7h 4m.
The fastest way to get from Perth to Milan is to train and fly which takes 7h 4m and costs €45 - €220.
No, there is no direct bus from Perth to Milan. However, there are services departing from South Methven Street and arriving at Milano, Autostazione Lampugnano via Park and Ride, London Victoria and Luxembourg, P+R Bouillon. The journey, including transfers, takes approximately 32h 51m.
No, there is no direct train from Perth to Milan. However, there are services departing from Perth and arriving at Milano Porta Garibaldi via Edinburgh Waverley, London St. Pancras Int., Amsterdam Centraal, Zürich HB and Como S.Giovanni. The journey, including transfers, takes approximately 29h 4m.
The distance between Perth and Milan is 1531 km.
The best way to get from Perth to Milan without a car is to train and night train which takes 29h 4m and costs €350 - €1200.
It takes approximately 5h 27m to get from Perth to Milan, including transfers.
Perth to Milan bus services, operated by FlixBus, depart from Park and Ride station.
Perth to Milan train services, operated by ScotRail, depart from Perth station.
The best way to get from Perth to Milan is to fly which takes 8h 23m and costs €110 - €600. Alternatively, you can train, which costs €360 - €1300 and takes 29h 4m, you could also bus, which costs €95 - €270 and takes 32h 51m.
What companies run services between Perth, Scotland and Milan, Italy?
Loganair and British Airways fly from Dundee Riverside Airport (DND) to Milan Linate Airport (LIN) once daily. Alternatively, you can take a train from Perth to Milano Porta Garibaldi via Edinburgh Waverley, London Kings Cross, London St. Pancras Int., Amsterdam Centraal, Zürich HB, and Como S.Giovanni in around 29h 4m.
- Website
- ryanair.com
Flights from Edinburgh Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 30m
- When
- Monday
- Estimated price
- €60–160
Flights from Edinburgh Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €65–150
Flights from Edinburgh Airport to Il Caravaggio International Airport via Charleroi
- Ave. Duration
- 5h 47m
- When
- Wednesday and Thursday
- Estimated price
- €65–150
- Website
- easyjet.com
Flights from Edinburgh Airport to Milan Linate Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €60–180
Flights from Edinburgh Airport to Milan Linate Airport via Birmingham
- Ave. Duration
- 4h 20m
- When
- Wednesday
- Estimated price
- €60–180
Flights from Edinburgh Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 4h 20m
- When
- Monday, Tuesday, Thursday, and Friday
- Estimated price
- €60–180
Flights from Edinburgh Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 30m
- When
- Sunday
- Estimated price
- €50–150
Flights from Edinburgh Airport to Milano Malpensa Airport via Amsterdam Schiphol
- Ave. Duration
- 4h 35m
- When
- Wednesday
- Estimated price
- €50–150
Flights from Glasgow Airport to Milano Malpensa Airport via Paris Charles de Gaulle
- Ave. Duration
- 4h 55m
- When
- Monday, Friday, Saturday, and Sunday
- Estimated price
- €90–250
- Website
- klm.com
Flights from Edinburgh Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 4h 42m
- When
- Every day
- Estimated price
- €65–320
- Website
- lufthansa.com
Flights from Edinburgh Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 17m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €120–170
Flights from Edinburgh Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 4h 10m
- When
- Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- €65–270
Flights from Glasgow Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 4h 10m
- When
- Tuesday, Saturday, and Sunday
- Estimated price
- €65–260
- Website
- britishairways.com
Flights from Dundee Riverside Airport to Milan Linate Airport via London Heathrow
- Ave. Duration
- 6h 15m
- When
- Monday to Wednesday
- Estimated price
- €100–490
- Website
- brusselsairlines.com
Flights from Edinburgh Airport to Milano Malpensa Airport via Brussels
- Ave. Duration
- 4h 20m
- When
- Friday
- Estimated price
- €55–210
- Website
- luxair.lu
Flights from Edinburgh Airport to Milano Malpensa Airport via Luxembourg
- Ave. Duration
- 4h 45m
- When
- Friday
- Estimated price
- €60–290
- Website
- swiss.com
Flights from Edinburgh Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 5h 5m
- When
- Monday, Thursday, Saturday, and Sunday
- Estimated price
- €170–390
- Website
- eurowings.com
Flights from Edinburgh Airport to Milano Malpensa Airport via Dusseldorf
- Ave. Duration
- 5h 20m
- When
- Thursday, Friday, and Sunday
- Estimated price
- €55–200
- Website
- flyulendo.com
Flights from Glasgow Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 25m
- When
- Monday, Wednesday, and Friday
- Estimated price
- €22–150
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Perth to Edinburgh Waverley
- Ave. Duration
- 1h 31m
- Frequency
- Hourly
- Estimated price
- €13–28
- Website
- https://www.scotrail.co.uk/
Train from Perth to Glasgow Queen Street
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- €15–45
- Website
- https://www.scotrail.co.uk/
- Phone
- +44 345 722 5333
- customers@lner.co.uk
- Website
- lner.co.uk
Train from Perth to Edinburgh Waverley
- Ave. Duration
- 1h 15m
- Frequency
- Once daily
- Estimated price
- €12–13
- Website
- https://www.lner.co.uk/
Train from Edinburgh Waverley to King's Cross
- Ave. Duration
- 4h 8m
- Frequency
- Hourly
- Estimated price
- €65–140
- Website
- https://www.lner.co.uk/
- Phone
- +44 330 060 0500
- enquiry@sleeper.scot
- Website
- sleeper.scot
Train from Perth to Edinburgh Waverley
- Ave. Duration
- 1h 28m
- Frequency
- Once daily
- Estimated price
- €65–90
- Website
- https://www.sleeper.scot/
- Sleeper Berth Classic
- €240–260
- Sleeper Seat
- €65–90
- Sleeper Berth Club Solo
- €260–310
Train from Perth to London Euston
- Ave. Duration
- 8h 19m
- Frequency
- Once daily
- Estimated price
- €80–100
- Website
- https://www.sleeper.scot/
- Sleeper Berth Classic
- €240–270
- Sleeper Seat
- €80–100
- Sleeper Berth Club Solo
- €380–430
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from London St. Pancras Int. to Amsterdam Centraal
- Ave. Duration
- 4h 16m
- Frequency
- 4 times a day
- Estimated price
- €200–310
- Website
- https://www.ns.nl/en
Night train from Amsterdam Centraal to Zuerich Hb
- Ave. Duration
- 11h 50m
- Frequency
- Once daily
- Estimated price
- €120–440
- Website
- https://www.ns.nl/en
- 2nd Class
- €120–190
- 1st Class
- €260–440
Train from Amsterdam Centraal to Zürich HB
- Ave. Duration
- 11h 50m
- Frequency
- Twice daily
- Estimated price
- €130–470
- Website
- https://www.ns.nl/en
- 2nd Class
- €130–200
- 1st Class
- €280–470
- Phone
- +44 343 218 6186
- Website
- eurostar.com
Train from London St. Pancras Int. to Amsterdam Centraal
- Ave. Duration
- 4h 16m
- Frequency
- Twice daily
- Estimated price
- €65–360
- Website
- https://www.eurostar.com/rw-en
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich HB to Como S. Giovanni
- Ave. Duration
- 2h 35m
- Frequency
- Hourly
- Estimated price
- €70–130
- Website
- https://www.sbb.ch/en
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 49 min
- Frequency
- Twice a week
- Estimated price
- €23–45
- Website
- https://www.sbb.ch/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 6m
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +44 (0) 8443 35 35 35
- Website
- leshuttle.com
Car train from Folkestone to Calais-Fréthun
- Ave. Duration
- 35 min
- Frequency
- Hourly
- Website
- https://www.leshuttle.com/uk-en
- Phone
- +39 02-72494949
- Website
- malpensaexpress.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €15
- Website
- https://www.malpensaexpress.it/en/
Train from Edinburgh Waverley to Sheffield
- Ave. Duration
- 3h 34m
- Frequency
- Hourly
- Estimated price
- €40–200
- Website
- https://www.crosscountrytrains.co.uk/
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Leonard Street to Airport
- Ave. Duration
- 49 min
- Frequency
- Hourly
- Website
- https://www.ember.to/
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from London Victoria to Paris
- Ave. Duration
- 9h 15m
- Frequency
- Every 30 minutes
- Estimated price
- €28–110
- Website
- https://www.flixbus.co.uk
Bus from Park and Ride to London Victoria
- Ave. Duration
- 11h 15m
- Frequency
- Hourly
- Estimated price
- €30–100
- Website
- https://www.flixbus.co.uk
Bus from Luxembourg, P+R Bouillon to Milano, Autostazione Lampugnano
- Ave. Duration
- 9h 25m
- Frequency
- Once daily
- Estimated price
- €35–110
- Website
- https://www.flixbus.co.uk
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from London Victoria to Paris
- Ave. Duration
- 9h 41m
- Frequency
- 3 times a week
- Estimated price
- €30–110
- Website
- https://www.blablacar.co.uk/bus
Bus from Paris - Bercy-Seine Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 12h 45m
- Frequency
- 3 times a day
- Estimated price
- €35–100
- Website
- https://www.blablacar.co.uk/bus
Bus from Luxembourg, P+R Bouillon to Milano, Autostazione Lampugnano
- Ave. Duration
- 10h 40m
- Frequency
- Once daily
- Estimated price
- €40–110
- Website
- https://www.blablacar.co.uk/bus
- Phone
- 07001 8282
- booking@union-ivkoni.com
- Website
- union-ivkoni.com
Bus from London Victoria to Paris
- Ave. Duration
- 10h 30m
- Frequency
- 3 times a week
- Estimated price
- €16–23
- Website
- https://union-ivkoni.com/en
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Paris - Bercy-Seine Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 12h 30m
- Frequency
- Once daily
- Estimated price
- €25–90
- Website
- https://www.itabus.it/en/home
- Phone
- +421 55 680 73 06
- onlinepredaj@eurobus.sk
- Website
- eurobus.sk
Bus from Sheffield to Brussel Eurolines Busstation
- Ave. Duration
- 10h 42m
- Frequency
- 4 times a week
- Estimated price
- €26–31
- Website
- https://www.eurobus.sk/en
- Phone
- +393293958604
- info@pistoiaviaggi.com
- Website
- pistoia-viaggi.it
Bus from Brussels-North Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 13h 33m
- Frequency
- Once a week
- Schedules at
- pistoia-viaggi.it
- Phone
- +420 222 222 221
- info@regiojet.cz
- Website
- regiojet.com
Bus from London Victoria to Luxembourg P+R Bouillon
- Ave. Duration
- 9h 30m
- Frequency
- Twice a week
- Estimated price
- €29–45
- Website
- https://regiojet.com/
- Phone
- +353 818 300 400
- info@irishferries.com
- Website
- irishferries.com
Car ferry from Port of Dover to Calais
- Ave. Duration
- 1h 30m
- Frequency
- Every 3 hours
- Estimated price
- €35–45
- Website
- https://www.irishferries.com/uk-en/Travel-to-Ireland
- Car
- €75–190
- On Foot
- €35–45
Want to know more about travelling around Italy
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Italy Travel Guides
Read the travel guide
Travelling to the UK: What do I need to know?
Read the travel guide
Getting to Milan from the airport
Read the travel guide
More Questions & Answers
Perth to Milan bus services, operated by FlixBus, arrive at London Victoria station.
Milan is 1h ahead of Perth. It is currently 12:13 AM in Perth and 1:13 AM in Milan.
Perth to Milan train services, operated by ScotRail, arrive at Edinburgh Waverley station.
Book your Perth to Milan train tickets online with Omio.
There are 13491+ hotels available in Milan.




































































