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 33m£64–193Train 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£51–146Train, 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£576–1,263Bus, 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 35mDrive, Eurotunnel
- Drive from Milan to Calais-Fréthuncar
- Take the cartrain from Calais-Fréthun to Folkestonecartrain
- Drive from Folkestone to Perthcar
20h 13m£361–490Fly 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 15m£116–247Bus 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 7m£56–242Train 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 12m£98–200Bus 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 18m£103–325Bus
- 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£134–219Drive, 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£273–429
Milan to Perth by train and night train
Questions & Answers
The cheapest way to get from Milan to Perth is to train and fly and bus which costs £50 - £150 and takes 7h.
The fastest way to get from Milan to Perth is to fly and bus which takes 6h 33m 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 - £1,300.
It takes approximately 6h 33m 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
- easyjet.com
Flights from Milan Linate Airport to Edinburgh Airport
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- £50–170
Flights from Milano Malpensa Airport to Edinburgh Airport
- Ave. Duration
- 2h 35m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- £45–110
Flights from Milan Linate Airport to Glasgow Airport via Paris Charles de Gaulle
- Ave. Duration
- 4h 37m
- When
- Saturday and Tuesday
- Estimated price
- £100–160
Flights from Milan Linate Airport to Glasgow Airport via London Gatwick
- Ave. Duration
- 4h 45m
- When
- Wednesday and Monday
- Estimated price
- £100–160
Flights from Milan Linate Airport to Glasgow Airport via Amsterdam Schiphol
- Ave. Duration
- 7h 5m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- £100–160
Flights from Milano Malpensa Airport to Glasgow Airport via London Luton
- Ave. Duration
- 4h 15m
- When
- Thursday and Sunday
- Estimated price
- £35–160
Flights from Milano Malpensa Airport to Glasgow Airport via Bristol
- Ave. Duration
- 4h 20m
- When
- Sunday
- Estimated price
- £40–170
Flights from Milano Malpensa Airport to Glasgow Airport via Paris Charles de Gaulle
- Ave. Duration
- 5h 5m
- When
- Wednesday and Tuesday
- Estimated price
- £35–160
- Phone
- +39 06 68475475
- [email protected]
- 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
- [email protected]
- Website
- Ember
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 55 min
- Frequency
- Hourly
- Estimated price
- £7–11
- Website
- Ember
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 55 min
- Frequency
- Hourly
- Estimated price
- £7–11
- Website
- Ember
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 55 min
- Frequency
- Hourly
- Estimated price
- £7–11
- Website
- Ember
- Phone
- +353 818 300 400
- [email protected]
- Website
- Irish Ferries
Car ferry from Calais to Port of Dover
- Ave. Duration
- 1h 30m
- Frequency
- Every 3 hours
- Estimated price
- £19–55
- 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
More Questions & Answers
Perth is 1h behind Milan. It is currently 10:19 AM in Milan and 9:19 AM in Perth.
Milan to Perth train services, operated by Trenitalia EuroCity, arrive at Zuerich Hb station.
There are 559+ hotels available in Perth.








