There are 11 ways to get from Milan to Perth by plane, bus, train, night train, car, car train, 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.
Fly Milan Linate Airport to Edinburgh Airport, bus
best- Fly from Milan Linate Airport (LIN) to Edinburgh Airport (EDI)plane LIN - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
6h 38m£64–192Train to Milano Malpensa Airport, fly to Edinburgh Airport, bus
cheapest- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Edinburgh Airport (EDI)plane MXP - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
7h 5m£56–145Train, night train
- Take the train from Milano Centrale to Zuerich Hbtrain Ec
- Take the nighttrain from Zürich HB to Amsterdam Centraalnighttrain Nj
- Take the train from Amsterdam Centraal to London St Pancras Intltrain Eil
- Take the train from King's Cross to Edinburgh Waverleytrain
- Take the train from Edinburgh Waverley to Perthtrain
27h 19m£581–927Bus, train
- Take the bus from Milano, Autostazione Lampugnano to Brussels-North Stationbus
- Take the train from Brussel-Zuid to London St. Pancras Int.train
- Take the train from London Euston to Perthtrain
27h 38mDrive, Eurotunnel
- Drive from Milan to Calais-Fréthuncar
- Take the cartrain from Calais-Fréthun to Folkestonecartrain
- Drive from Folkestone to Perthcar
20h 13m£362–492Fly Milan Linate Airport to Glasgow Airport, train
- Fly from Milan Linate Airport (LIN) to Glasgow Airport (GLA)plane LIN - GLA
- Take the train from Glasgow Queen Street to Perthtrain
8h 12m£109–277Bus to Il Caravaggio International Airport, fly to Edinburgh Airport, bus
- Take the bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airportbus
- Fly from Il Caravaggio International Airport (BGY) to Edinburgh Airport (EDI)plane BGY - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
7h 12m£56–219Train to Milano Malpensa Airport, fly to Glasgow Airport, train
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Glasgow Airport (GLA)plane MXP - GLA
- Take the train from Glasgow Queen Street to Perthtrain
7h 9m£96–220Bus to Il Caravaggio International Airport, fly to Newcastle, train
- Take the bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airportbus
- Fly from Il Caravaggio International Airport (BGY) to Newcastle (NCL)plane BGY - NCL
- Take the train from Newcastle to Edinburgh Waverleytrain
- Take the train from Edinburgh Waverley to Perthtrain
9h 19m£96–308Bus
- Take the bus from Milano, Autostazione Lampugnano to Luxembourgbus
- Take the bus from Luxembourg P+R Bouillon to London Victoria Green Line Stationbus
- Take the bus from London Victoria to Park and Ridebus
32h 48m£123–196Drive, car ferry
- Drive from Milan to Calaiscar
- Take the carferry from Calais to Port of Dovercarferry
- Drive from Port of Dover to Perthcar
21h 8m£281–451
Milan to Perth by train and night train
Comparing Your Travel Options
The cheapest way to get from Milan to Perth is to train and fly and bus which costs £55 - £150 and takes 7h 5m.
The fastest way to get from Milan to Perth is to fly and bus which takes 6h 38m and costs £60 - £200.
No, there is no direct bus from Milan to Perth. However, there are services departing from Milano, Autostazione Lampugnano and arriving at South Street via Luxembourg P+R Bouillon, London Victoria and Park and Ride. The journey, including transfers, takes approximately 32h 48m.
No, there is no direct train from Milan to Perth. However, there are services departing from Milano Centrale and arriving at Perth via Zürich HB, Amsterdam Centraal, King's Cross and Edinburgh Waverley. The journey, including transfers, takes approximately 27h 19m.
The distance between Milan and Perth is 958 miles.
The best way to get from Milan to Perth without a car is to train and night train which takes 27h 19m and costs £550 - £950.
It takes approximately 6h 38m to get from Milan to Perth, including transfers.
Milan to Perth bus services, operated by BlaBlaCar Bus, depart from Milano, Autostazione Lampugnano station.
Milan to Perth train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
Milan to Perth bus services, operated by BlaBlaCar Bus, arrive at Luxembourg station.
What companies run services between Milan, Italy and Perth, Scotland?
You can take a bus from Milano, Autostazione Lampugnano to South Street via Luxembourg P+R Bouillon, London Victoria Green Line Station, London Victoria, and Park and Ride in around 32h 48m.
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Edinburgh Airport
- Ave. Duration
- 2h 35m
- When
- Monday, Wednesday, and Friday
- Estimated price
- £40–150
Flights from Il Caravaggio International Airport to Edinburgh Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- £40–190
Flights from Il Caravaggio International Airport to Edinburgh Airport via Beauvais
- Ave. Duration
- 5h 40m
- When
- Tuesday, Wednesday, Saturday, and Sunday
- Estimated price
- £40–190
Flights from Il Caravaggio International Airport to Newcastle
- Ave. Duration
- 2h 21m
- When
- Tuesday, Monday, Thursday, Saturday, and Sunday
- Estimated price
- £45–140
Flights from Il Caravaggio International Airport to Newcastle via Charleroi
- Ave. Duration
- 4h 55m
- When
- Monday
- Estimated price
- £45–140
Flights from Il Caravaggio International Airport to Newcastle via Dublin
- Ave. Duration
- 5h 17m
- When
- Wednesday and Saturday
- Estimated price
- £45–140
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- Trenitalia Eurocity
Train from Milano Centrale to Zuerich Hb
- Ave. Duration
- 3h 17m
- Frequency
- Hourly
- Estimated price
- £45–90
- Website
- Trenitalia Eurocity
- 1st Class
- £60–90
- 2nd Class
- £45–65
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- Ember
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 1h
- Frequency
- Hourly
- Estimated price
- £7–10
- Website
- Ember
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 1h
- Frequency
- Hourly
- Estimated price
- £7–10
- Website
- Ember
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 1h
- Frequency
- Hourly
- Estimated price
- £7–10
- Website
- Ember
- Phone
- +353 818 300 400
- info@irishferries.fr
- Website
- Irish Ferries
Car ferry from Calais to Port of Dover
- Ave. Duration
- 1h 30m
- Frequency
- Every 3 hours
- Estimated price
- £26–75
- Website
- Irish Ferries
Want to know more about travelling around United Kingdom
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
Travelling to the UK: What do I need to know?
Read the travel guide
Italy Travel Guides
Read the travel guide
Getting to Milan from the airport
Read the travel guide
Booking & Getting There
Perth is 1h behind Milan. It is currently 3:52 PM in Milan and 2:52 PM in Perth.
Milan to Perth train services, operated by Trenitalia EuroCity, arrive at Zuerich Hb station.
There are 555+ hotels available in Perth.








