There are 12 ways to get from Milan to Perth by plane, bus, train (Trenitalia, Eurostar), train, car, car train, night 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 50m£69–193Bus to Il Caravaggio International Airport, fly to Edinburgh Airport, bus
cheapest- 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 23m£46–192Train
- Take the train from Milano Centrale to Paris Gare De Lyontrain Fr
- Take the train from Paris Nord to London St Pancras Intltrain Eil
- Take the train from London Euston to Perthtrain
20h 23m£302–526Bus, train
- Take the bus from Milano, Autostazione Lampugnano to Brussels-North Stationbus
- Take the bus from Brussel Eurolines Busstation to Sheffieldbus
- Take the train from Sheffield to Edinburgh Waverleytrain
- Take the train from Edinburgh Waverley to Perthtrain
33h 12mDrive, Eurotunnel
- Drive from Milan to Calais-Fréthuncar
- Take the car train from Calais-Fréthun to Folkestonecartrain
- Drive from Folkestone to Perthcar
20h 9mTrain 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£63–190Fly 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 6m£112–287Train to Milano Malpensa Airport, fly to Edinburgh Airport, bus
- 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 16m£51–166Bus 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 22m£70–285Train, night train
- Take the train from Milano Centrale to Basel Bad Bftrain Ec
- Take the night train from Basel Bad Bf 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
29h 24m£272–682Bus
- Take the bus from Milano, Autostazione Lampugnano to Brussels-North Stationbus
- Take the bus from Brussel Eurolines Busstation to Birminghambus
- Take the bus from Newhall St to Buchanan Bus Stationbus
- Take the bus from Buchanan Bus Station to Manse Roadbus M8
34h 2mDrive, car ferry
- Drive from Milan to Calaiscar
- Take the car ferry from Calais to Port of Dovercarferry
- Drive from Port of Dover to Perthcar
21h 9m£261–404
Milan to Perth by train, bus, and foot
Questions & Answers
The cheapest way to get from Milan to Perth is to train and fly and bus which costs £50 - £170 and takes 7h 16m.
The fastest way to get from Milan to Perth is to fly and bus which takes 6h 50m and costs £65 - £200.
No, there is no direct bus from Milan to Perth. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Manse Road via Brussel Eurolines Busstation, Newhall St and Buchanan Bus Station. The journey, including transfers, takes approximately 34h 2m.
No, there is no direct train from Milan to Perth. However, there are services departing from Milano Centrale and arriving at Perth via Basel Bad Bf, Amsterdam Centraal, King's Cross and Edinburgh Waverley. The journey, including transfers, takes approximately 29h 24m.
The distance between Milan and Perth is 958 miles.
The best way to get from Milan to Perth without a car is to train which takes 20h 23m and costs £300 - £550.
It takes approximately 6h 50m to get from Milan to Perth, including transfers.
Milan to Perth bus services, operated by Pistoia viaggi, depart from Milano, Autostazione Lampugnano station.
Milan to Perth train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
The best way to get from Milan to Perth is to train which takes 20h 23m and costs £300 - £550. Alternatively, you can bus, which costs and takes 34h 2m.
What companies run services between Milan, Italy and Perth, Scotland?
You can take a train from Milano Centrale to Perth via Paris Gare De Lyon, Gare de Lyon - Van Gogh, Gare du Nord, Paris Nord, London St Pancras Intl, and London Euston in around 20h 23m. Alternatively, you can take a bus from Milano, Autostazione Lampugnano to Manse Road via Brussels-North Station, Brussel Eurolines Busstation, Birmingham, Newhall St, and Buchanan Bus Station in around 34h 2m.
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Edinburgh Airport
- Ave. Duration
- 2h 35m
- When
- Monday and Friday
- Estimated price
- £45–90
Flights from Il Caravaggio International Airport to Edinburgh Airport
- Ave. Duration
- 2h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- £35–140
Flights from Il Caravaggio International Airport to Edinburgh Airport via Charleroi
- Ave. Duration
- 4h 57m
- When
- Tuesday and Friday
- Estimated price
- £35–140
Flights from Il Caravaggio International Airport to Edinburgh Airport via Beauvais
- Ave. Duration
- 5h 40m
- When
- Tuesday to Thursday
- Estimated price
- £35–140
Flights from Il Caravaggio International Airport to Newcastle
- Ave. Duration
- 2h 21m
- When
- Monday, Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- £29–110
Flights from Il Caravaggio International Airport to Newcastle via Charleroi
- Ave. Duration
- 4h 55m
- When
- Monday
- Estimated price
- £29–110
Flights from Il Caravaggio International Airport to Newcastle via Dublin
- Ave. Duration
- 5h 17m
- When
- Wednesday and Saturday
- Estimated price
- £29–110
- Website
- easyjet.com
Flights from Milan Linate Airport to Edinburgh Airport
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- £55–170
Flights from Milan Linate Airport to Edinburgh Airport via Amsterdam Schiphol
- Ave. Duration
- 5h 36m
- When
- Tuesday, Thursday, and Saturday
- Estimated price
- £55–170
Flights from Milano Malpensa Airport to Glasgow Airport via London Luton
- Ave. Duration
- 4h 15m
- When
- Thursday and Sunday
- Estimated price
- £35–150
Flights from Milano Malpensa Airport to Glasgow Airport via Paris Charles de Gaulle
- Ave. Duration
- 4h 42m
- When
- Tuesday and Sunday
- Estimated price
- £35–150
Flights from Milan Linate Airport to Glasgow Airport via Paris Charles de Gaulle
- Ave. Duration
- 4h 25m
- When
- Saturday
- Estimated price
- £80–220
Flights from Milan Linate Airport to Glasgow Airport via London Gatwick
- Ave. Duration
- 4h 45m
- When
- Monday and Wednesday
- Estimated price
- £80–220
Flights from Milan Linate Airport to Glasgow Airport via Amsterdam Schiphol
- Ave. Duration
- 7h 5m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- £80–220
Flights from Milano Malpensa Airport to Edinburgh Airport
- Ave. Duration
- 2h 35m
- When
- Monday, Tuesday, Thursday, Friday, and Sunday
- Estimated price
- £30–140
- Website
- britishairways.com
Flights from Milan Linate Airport to Edinburgh Airport via London City
- Ave. Duration
- 5h 5m
- When
- Monday to Thursday
- Estimated price
- £55–270
Flights from Milan Linate Airport to Glasgow Airport via London Heathrow
- Ave. Duration
- 4h 37m
- When
- Every day
- Estimated price
- £55–270
Flights from Milan Linate Airport to Glasgow Airport via London City
- Ave. Duration
- 6h 5m
- When
- Monday to Friday
- Estimated price
- £55–270
- Website
- lufthansa.com
Flights from Milan Linate Airport to Edinburgh Airport via Frankfurt
- Ave. Duration
- 4h 50m
- When
- Every day
- Estimated price
- £95–220
Flights from Milano Malpensa Airport to Glasgow Airport via Frankfurt
- Ave. Duration
- 6h 10m
- When
- Every day
- Estimated price
- £55–240
Flights from Milan Linate Airport to Glasgow Airport via Frankfurt
- Ave. Duration
- 4h 50m
- When
- Every day
- Estimated price
- £65–280
Flights from Milano Malpensa Airport to Edinburgh Airport via Frankfurt
- Ave. Duration
- 4h 25m
- When
- Every day
- Estimated price
- £55–240
- Website
- klm.com
Flights from Milan Linate Airport to Edinburgh Airport via Amsterdam Schiphol
- Ave. Duration
- 4h 26m
- When
- Every day
- Estimated price
- £50–270
Flights from Milan Linate Airport to Glasgow Airport via Amsterdam Schiphol
- Ave. Duration
- 5h 20m
- When
- Every day
- Estimated price
- £50–270
- Website
- flyulendo.com
Flights from Milano Malpensa Airport to Glasgow Airport
- Ave. Duration
- 2h 35m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- £22–90
- Website
- swiss.com
Flights from Milano Malpensa Airport to Glasgow Airport via Zurich
- Ave. Duration
- 5h 20m
- When
- Monday and Friday
- Estimated price
- £110–240
- Website
- brusselsairlines.com
Flights from Milano Malpensa Airport to Edinburgh Airport via Brussels
- Ave. Duration
- 4h 15m
- When
- Every day
- Estimated price
- £45–180
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Milano Centrale to Paris Gare De Lyon
- Ave. Duration
- 6h 57m
- Frequency
- Twice daily
- Estimated price
- £95–170
- Website
- https://www.trenitalia.com/en.html
- Phone
- +44 343 218 6186
- Website
- eurostar.com
Train from Paris Nord to London St Pancras Intl
- Ave. Duration
- 2h 28m
- Frequency
- Hourly
- Estimated price
- £110–200
- Website
- https://www.eurostar.com/rw-en
Train from Amsterdam Centraal to London St. Pancras Int.
- Ave. Duration
- 4h 17m
- Frequency
- 3 times a day
- Estimated price
- £150–250
- Website
- https://www.eurostar.com/rw-en
- Phone
- +44 330 060 0500
- enquiry@sleeper.scot
- Website
- sleeper.scot
Train from London Euston to Perth
- Ave. Duration
- 8h 27m
- Frequency
- 6 times a week
- Estimated price
- £90–160
- Website
- https://www.sleeper.scot/
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 22m
- Frequency
- 6 times a week
- Estimated price
- £11–18
- Website
- https://www.sleeper.scot/
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 42m
- Frequency
- Twice a week
- Estimated price
- £24–40
- Website
- https://www.sleeper.scot/
Train from Sheffield to Edinburgh Waverley
- Ave. Duration
- 3h 48m
- Frequency
- Hourly
- Estimated price
- £140–200
- Website
- https://www.crosscountrytrains.co.uk/
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- £65–95
- Website
- https://www.crosscountrytrains.co.uk/
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- £24–45
- Website
- https://www.scotrail.co.uk/
Train from Glasgow Queen Street to Perth
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- £27–50
- Website
- https://www.scotrail.co.uk/
- Phone
- +44 345 722 5333
- customers@lner.co.uk
- Website
- lner.co.uk
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 17m
- Frequency
- Once daily
- Estimated price
- £16–25
- Website
- https://www.lner.co.uk/
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 22m
- Frequency
- Hourly
- Estimated price
- £35–55
- Website
- https://www.lner.co.uk/
Train from King's Cross to Edinburgh Waverley
- Ave. Duration
- 4h 6m
- Frequency
- Hourly
- Estimated price
- £110–170
- Website
- https://www.lner.co.uk/
- Phone
- +44 (0) 8443 35 35 35
- Website
- leshuttle.com
Car train from Calais-Fréthun to Folkestone
- Ave. Duration
- 35 min
- Frequency
- Hourly
- Website
- https://www.leshuttle.com/uk-en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- £3–5
- Website
- https://www.trenord.it/en/
- Phone
- +44 345 600 1671
- tpecustomer.relations@tpexpress.co.uk
- Website
- tpexpress.co.uk
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 45m
- Frequency
- Every 4 hours
- Estimated price
- £40–75
- Website
- https://www.tpexpress.co.uk/
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Milano Centrale to Basel Bad Bf
- Ave. Duration
- 4h 43m
- Frequency
- Once daily
- Estimated price
- £65–110
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- £75–110
- 2nd Class
- £65–90
- Phone
- +43 51717
- Website
- nightjet.com
Night train from Basel Bad Bf to Amsterdam Centraal
- Ave. Duration
- 11h 51m
- Frequency
- Once a week
- Estimated price
- £35–110
- Website
- https://www.nightjet.com/en/#/home
- Sleeper Carriage
- £90–110
- Couchette Carriage
- £60–75
- Seating Carriage
- £35–45
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Amsterdam Centraal to London St. Pancras Int.
- Ave. Duration
- 4h 17m
- Frequency
- 5 times a day
- Estimated price
- £50–130
- Website
- https://www.ns.nl/en
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 58 min
- Frequency
- Every 4 hours
- Estimated price
- £7–11
- Website
- https://www.ember.to/
- Phone
- +393293958604
- info@pistoiaviaggi.com
- 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
- Phone
- +421 55 680 73 06
- onlinepredaj@eurobus.sk
- Website
- eurobus.sk
Bus from Brussel Eurolines Busstation to Sheffield
- Ave. Duration
- 10h 42m
- Frequency
- 4 times a week
- Estimated price
- £29–34
- Website
- https://www.eurobus.sk/en
Bus from Brussel Eurolines Busstation to Birmingham
- Ave. Duration
- 8h 45m
- Frequency
- 4 times a week
- Estimated price
- £24–28
- Website
- https://www.eurobus.sk/en
- customerservices@terravision.eu
- Website
- terravision.eu
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- £4–22
- Website
- https://www.terravision.eu/
- info@flibco.com
- Website
- flibco.com
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- £7–18
- Website
- https://www.flibco.com/en
- Phone
- +39 02 3008 9000
- mail@autostradale.it
- Website
- autostradale.it
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 1h
- Frequency
- Every 30 minutes
- Estimated price
- £3–7
- Website
- https://autostradale.it/?lang=en-GB
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Newhall St to Buchanan Bus Station
- Ave. Duration
- 6h 10m
- Frequency
- 5 times a day
- Estimated price
- £27–50
- Website
- https://www.flixbus.co.uk
- Phone
- 01698 653164
- enquiries@parksofhamilton.co.uk
- Website
- parksofhamilton.co.uk
Bus from Buchanan Bus Station to Manse Road
- Ave. Duration
- 1h 51m
- Frequency
- Hourly
- Website
- https://www.parksofhamilton.co.uk/
- Phone
- 0141 352 4444
- info@citylink.co.uk
- Website
- citylink.co.uk
Bus from Buchanan Bus Station to Manse Road
- Ave. Duration
- 1h 39m
- Frequency
- Every 4 hours
- Estimated price
- £11–16
- Website
- https://www.citylink.co.uk/
- Phone
- 01304 44 88 88
- customer.services@poferries.com
- Website
- poferries.com
Car ferry from Calais to Port of Dover
- Ave. Duration
- 1h 35m
- Frequency
- Every 2 hours
- Estimated price
- £7–18
- Website
- https://www.poferries.com/en
- Phone
- +353 818 300 400
- info@irishferries.com
- Website
- irishferries.com
Car ferry from Calais to Port of Dover
- Ave. Duration
- 1h 30m
- Frequency
- Every 3 hours
- Estimated price
- £5–28
- Website
- https://www.irishferries.com/uk-en/Travel-to-Ireland
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
Milan to Perth bus services, operated by Pistoia viaggi, arrive at Brussels-North Station.
Perth is 1h behind Milan. It is currently 9:52 AM in Milan and 8:52 AM in Perth.
Milan to Perth train services, operated by Trenitalia EuroCity, arrive at Basel Bad Bf station.
There are 541+ hotels available in Perth.































































































