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£59–202Train 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£51–134Bus, train
- Take the bus from Milano, Autostazione Lampugnano to Brussels-North Stationbus
- Take the train from Brussel-Zuid / Bruxelles-Midi to London St Pancras Intltrain Eil
- Take the train from London Euston to Perthtrain
27h 32mTrain, night train
- Take the train from Milano Porta Garibaldi to Como S.Giovannitrain S11
- Take the train from Como S. Giovanni to Zürich HBtrain Ec
- Take the nighttrain from Zürich HB to Amsterdam Centraalnighttrain Nj
- Take the train from Amsterdam Centraal to London St. Pancras Int.train
- Take the train from King's Cross to Edinburgh Waverleytrain
- Take the train from Edinburgh Waverley to Perthtrain
28h 33m£506–858Drive, 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–491Fly 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 17m£114–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–259Bus 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 23m£87–289Train, train to Zurich Airport, fly to Edinburgh Airport, bus
- Take the train from Milano Centrale to Luganotrain
- Take the train from Lugano to Zürich HBtrain
- Fly from Zurich Airport (ZRH) to Edinburgh Airport (EDI)plane ZRH - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
9h 56m£153–345Bus
- Take the bus from Milano, Autostazione Lampugnano to Brussels - Midi Train Stationbus
- Take the bus from Brussels Midi / Brussels South West to London Victoria Green Line Stationbus
- Take the bus from London Victoria to Edinburgh, Bus Stationbus
- Take the bus from George Street to Perth stationbus
32h 13m£125–242Drive, 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£279–449
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 £50 - £140 and takes 7h 5m.
The fastest way to get from Milan to Perth is to fly and bus which takes 6h 38m and costs £55 - £210.
No, there is no direct bus from Milan to Perth station. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Perth station via Brussels Midi / Brussels South West, London Victoria and George Street. The journey, including transfers, takes approximately 32h 13m.
No, there is no direct train from Milan to Perth. However, there are services departing from Milano Porta Garibaldi and arriving at Perth via Como S. Giovanni, Zürich HB, Amsterdam Centraal, King's Cross and Edinburgh Waverley. The journey, including transfers, takes approximately 28h 33m.
The distance between Milan and Perth is 958 miles.
The best way to get from Milan to Perth without a car is to bus and train which takes 27h 32m and costs .
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 Trenord, depart from Milano Porta Garibaldi station.
Milan to Perth bus services, operated by BlaBlaCar Bus, arrive at Brussels - Midi Train Station.
What companies run services between Milan, Italy and Perth, Scotland?
You can take a bus from Milano, Autostazione Lampugnano to Perth station via Brussels Midi / Brussels South West, London Victoria Green Line Station, London Victoria, Edinburgh, Bus Station, and George Street in around 32h 13m.
- Website
- ryanair.com
Flights from Il Caravaggio International Airport to Edinburgh Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- £45–230
Flights from Il Caravaggio International Airport to Edinburgh Airport via Charleroi
- Ave. Duration
- 6h 5m
- When
- Friday
- Estimated price
- £45–230
Flights from Milano Malpensa Airport to Edinburgh Airport
- Ave. Duration
- 2h 35m
- When
- Friday and Sunday
- Estimated price
- £40–110
Flights from Il Caravaggio International Airport to Newcastle
- Ave. Duration
- 2h 20m
- When
- Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- £35–130
Flights from Il Caravaggio International Airport to Newcastle via Dublin
- Ave. Duration
- 5h 7m
- When
- Thursday, Sunday, Tuesday, and Saturday
- Estimated price
- £35–130
- Website
- easyjet.com
Flights from Milan Linate Airport to Edinburgh Airport
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- £45–180
Flights from Milan Linate Airport to Edinburgh Airport via Geneva
- Ave. Duration
- 5h 42m
- When
- Tuesday, Monday, Thursday, and Friday
- Estimated price
- £45–180
Flights from Milan Linate Airport to Glasgow Airport via Paris Charles de Gaulle
- Ave. Duration
- 4h 15m
- When
- Friday and Sunday
- Estimated price
- £95–250
Flights from Milan Linate Airport to Glasgow Airport via London Gatwick
- Ave. Duration
- 7h 10m
- When
- Monday to Friday
- Estimated price
- £95–250
Flights from Milan Linate Airport to Glasgow Airport via Amsterdam Schiphol
- Ave. Duration
- 8h 40m
- When
- Monday, Thursday, and Friday
- Estimated price
- £95–250
Flights from Milano Malpensa Airport to Edinburgh Airport
- Ave. Duration
- 2h 37m
- When
- Sunday, Monday, Wednesday, and Friday
- Estimated price
- £50–120
Flights from Zurich Airport to Edinburgh Airport
- Ave. Duration
- 2h 20m
- When
- Wednesday, Monday, and Friday
- Estimated price
- £60–170
- Website
- britishairways.com
Flights from Milan Linate Airport to Edinburgh Airport via London City
- Ave. Duration
- 5h 25m
- When
- Monday to Friday
- Estimated price
- £95–150
Flights from Milan Linate Airport to Glasgow Airport via London City
- Ave. Duration
- 4h 15m
- When
- Sunday, Monday, Tuesday, Wednesday, and Thursday
- Estimated price
- £60–280
Flights from Zurich Airport to Edinburgh Airport via London City
- Ave. Duration
- 4h 20m
- When
- Monday to Saturday
- Estimated price
- £95–190
- Website
- klm.com
Flights from Milan Linate Airport to Glasgow Airport via Amsterdam Schiphol
- Ave. Duration
- 5h 6m
- When
- Every day
- Estimated price
- £50–270
- Website
- brusselsairlines.com
Flights from Milan Linate Airport to Edinburgh Airport via Brussels
- Ave. Duration
- 4h 20m
- When
- Monday, Wednesday, and Friday
- Estimated price
- £50–200
Flights from Zurich Airport to Edinburgh Airport via Brussels
- Ave. Duration
- 4h 5m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- £45–180
- Website
- lufthansa.com
Flights from Milan Linate Airport to Edinburgh Airport via Frankfurt
- Ave. Duration
- 5h 20m
- When
- Every day
- Estimated price
- £75–270
Flights from Milan Linate Airport to Glasgow Airport via Frankfurt
- Ave. Duration
- 5h 55m
- When
- Monday
- Estimated price
- £60–180
- Website
- flyedelweiss.com
Flights from Zurich Airport to Edinburgh Airport
- Ave. Duration
- 2h 25m
- When
- Monday, Friday, Sunday, and Thursday
- Estimated price
- £40–230
- Website
- ryanair.com
Flights from Il Caravaggio International Airport to Edinburgh Airport
- Ave. Duration
- 2h 35m
- When
- Thursday and Friday
- Estimated price
- £40–180
- Website
- luxair.lu
Flights from Milano Malpensa Airport to Edinburgh Airport via Luxembourg
- Ave. Duration
- 6h
- When
- Monday
- Estimated price
- £65–260
- Website
- eurowings.com
Flights from Zurich Airport to Edinburgh Airport via Dusseldorf
- Ave. Duration
- 4h 15m
- When
- Monday, Tuesday, Thursday, and Friday
- Estimated price
- £120–190
- Phone
- +44 (0)3432 186 186
- Website
- Eurostar
Train from Brussel-Zuid / Bruxelles-Midi to London St Pancras Intl
- Ave. Duration
- 2h 1m
- Frequency
- Every 3 hours
- Estimated price
- £110–190
- Website
- Eurostar
- Phone
- +44 330 060 0500
- Website
- Caledonian Sleeper
Train from London Euston to Perth
- Ave. Duration
- 8h 27m
- Frequency
- 6 times a week
- Estimated price
- £100–150
- Website
- Caledonian Sleeper
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 22m
- Frequency
- 6 times a week
- Estimated price
- £12–18
- Website
- Caledonian Sleeper
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 42m
- Frequency
- Twice a week
- Estimated price
- £27–40
- Website
- Caledonian Sleeper
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 22m
- Frequency
- 6 times a week
- Estimated price
- £12–18
- Website
- Caledonian Sleeper
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Train from Milano Porta Garibaldi to Como S.Giovanni
- Ave. Duration
- 1h 1m
- Frequency
- Hourly
- Estimated price
- £3–5
- Website
- Trenord
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- £3–5
- Website
- Trenord
Train from Milano Porta Garibaldi to Como S.Giovanni
- Ave. Duration
- 1h 1m
- Frequency
- Once daily
- Estimated price
- £14–24
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Como S. Giovanni to Zürich HB
- Ave. Duration
- 2h 36m
- Frequency
- Hourly
- Estimated price
- £60–110
- Website
- Swiss Federal Railways (SBB CFF FFS)
Night train from Zürich HB to Amsterdam Centraal
- Ave. Duration
- 11h 13m
- Frequency
- Once daily
- Estimated price
- £250–400
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Milano Centrale to Lugano
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- £23–40
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Lugano to Zürich HB
- Ave. Duration
- 1h 53m
- Frequency
- Hourly
- Estimated price
- £55–90
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +31 30 751 5155
- Website
- Nederlandse Spoorwegen (NS)
Train from Amsterdam Centraal to London St. Pancras Int.
- Ave. Duration
- 4h 17m
- Frequency
- 5 times a day
- Estimated price
- £50–110
- Website
- Nederlandse Spoorwegen (NS)
Train from King's Cross to Edinburgh Waverley
- Ave. Duration
- 4h 5m
- Frequency
- Hourly
- Estimated price
- £130–180
- Website
- London North Eastern Railway Limited (LNER)
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 17m
- Frequency
- Once daily
- Estimated price
- £18–26
- Website
- London North Eastern Railway Limited (LNER)
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 24m
- Frequency
- Hourly
- Estimated price
- £40–60
- Website
- London North Eastern Railway Limited (LNER)
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 17m
- Frequency
- Once daily
- Estimated price
- £18–26
- Website
- London North Eastern Railway Limited (LNER)
- Phone
- +44 (0)344 811 0141
- Website
- ScotRail
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- £21–35
- Website
- ScotRail
Train from Glasgow Queen Street to Perth
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- £24–40
- Website
- ScotRail
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- £21–35
- Website
- ScotRail
- Phone
- +44 (0) 8443 35 35 35
- [email protected]
- Website
- LeShuttle
Car train from Calais-Fréthun to Folkestone
- Ave. Duration
- 35 min
- Frequency
- Hourly
- Estimated price
- £117
- Website
- LeShuttle
- Standard fare
- £117
- Phone
- +44 3447 369 123
- [email protected]
- Website
- Cross Country
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- £50–80
- Website
- Cross Country
- Phone
- +44 345 600 1671
- [email protected]
- Website
- TransPennine Express
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 45m
- Frequency
- Every 4 hours
- Estimated price
- £35–60
- Website
- TransPennine Express
- Phone
- +44 (0)131 510 4007
- [email protected]
- Website
- Ember
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 58 min
- Frequency
- Hourly
- Estimated price
- £7–10
- Website
- Ember
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 58 min
- Frequency
- Hourly
- Estimated price
- £7–10
- Website
- Ember
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 58 min
- Frequency
- Hourly
- Estimated price
- £7–10
- Website
- Ember
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 58 min
- Frequency
- Hourly
- Estimated price
- £7–10
- Website
- Ember
Bus from George Street to Perth station
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- £7–11
- Website
- Ember
- Phone
- +393293958604
- [email protected]
- Website
- pistoia-viaggi.it
Bus from Milano, Autostazione Lampugnano to Brussels-North Station
- Ave. Duration
- 14h 41m
- Frequency
- Once a week
- Schedules at
- pistoia-viaggi.it
- [email protected]
- Website
- TERRAVISION
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- £4–19
- Website
- TERRAVISION
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- £4–19
- Website
- TERRAVISION
- Phone
- 035.319366
- [email protected]
- Website
- orioshuttle.com
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- £9–12
- Schedules at
- orioshuttle.com
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- £9–12
- Schedules at
- orioshuttle.com
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Milano, Autostazione Lampugnano to Brussels - Midi Train Station
- Ave. Duration
- 13h 35m
- Frequency
- 3 times a day
- Estimated price
- £55–100
- Website
- BlaBlaCar Bus
- Phone
- +420 222 222 221
- [email protected]
- Website
- RegioJet
Bus from Brussels Midi / Brussels South West to London Victoria Green Line Station
- Ave. Duration
- 6h 30m
- Frequency
- 4 times a week
- Estimated price
- £19–35
- Website
- RegioJet
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from London Victoria to Edinburgh, Bus Station
- Ave. Duration
- 8h 15m
- Frequency
- Hourly
- Estimated price
- £40–65
- Website
- Flixbus
- Phone
- +44 (0)3717 81 81 81
- Website
- National Express
Bus from London Victoria to Edinburgh, Bus Station
- Ave. Duration
- 10h 5m
- Frequency
- 3 times a day
- Estimated price
- £60–100
- Website
- National Express
- 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
- £25–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 10:23 PM in Milan and 9:23 PM in Perth.
Milan to Perth train services, operated by Trenord, arrive at Como S.Giovanni station.
Book your Milan to Perth bus tickets online with Omio.
There are 564+ hotels available in Perth.












































































