There are 11 ways to get from Perth to Milan by bus, plane, train (Eurostar, Trenitalia), car, car train, 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.
Bus to Edinburgh Airport, fly to Milan Linate Airport
best- Take the bus from Perth station to Edinburgh Airportbus
- Fly from Edinburgh Airport (EDI) to Milan Linate Airport (LIN)plane EDI - LIN
5h 37m€80–225Bus to Edinburgh Airport, fly to Milano Malpensa Airport, train
cheapest- Take the bus from Perth station to Edinburgh Airportbus
- Fly from Edinburgh Airport (EDI) to Milano Malpensa Airport (MXP)plane EDI - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
6h 32m€58–188Train
- Take the train from Perth to London Eustontrain
- Take the train from London St Pancras Intl to Paris Nordtrain Eil
- Take the train from Paris Gare De Lyon to Milano Centraletrain Fr
20h 3m€352–596Bus
- Take the bus from Bus Station to Edinburgh, Bus Stationbus M90
- Take the bus from Edinburgh, Bus Station to London Victoriabus
- Take the bus from London Victoria to Brussels Midi / Brussels South Westbus
- Take the bus from Brussels - Midi Train Station to Milano, Autostazione Lampugnanobus
32h 30m€123–224Drive, Eurotunnel
- Drive from Perth to Folkestonecar
- Take the car train from Folkestone to Calais-Fréthuncartrain
- Drive from Calais-Fréthun to Milancar
19h 58mBus to Edinburgh Airport, fly to Il Caravaggio International Airport
- Take the bus from Perth station to Edinburgh Airportbus
- Fly from Edinburgh Airport (EDI) to Il Caravaggio International Airport (BGY)plane EDI - BGY
6h 26m€66–227Fly Dundee Riverside Airport to Milan Linate Airport
- Fly from Dundee Riverside Airport (DND) to Milan Linate Airport (LIN)plane DND - LIN
7h 46m€113–495Train to Glasgow Airport, fly to Milano Malpensa Airport, train
- Take the train from Perth to Glasgow Queen Streettrain
- Fly from Glasgow Airport (GLA) to Milano Malpensa Airport (MXP)plane GLA - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
7h 22m€70–207Train, night train
- Take the train from Perth to Edinburgh Waverleytrain
- Take the train from Edinburgh Waverley to King's Crosstrain
- Take the train from London St. Pancras Int. to Rotterdam Centraaltrain
- Take the night train from Rotterdam Centraal to Zuerich Hbnighttrain Nj
- Take the train from Zürich HB to Como S. Giovannitrain Ec
- Take the train from Como S.Giovanni to Milano Porta Garibalditrain S11
28h€352–980Train, bus
- Take the train from Perth to Edinburgh Waverleytrain
- Take the train from Edinburgh Waverley to Sheffieldtrain
- Take the bus from Sheffield to Brussel Eurolines Busstationbus
- Take the bus from Brussels-North Station to Milano, Autostazione Lampugnanobus
32h 34mDrive, car ferry
- Drive from Perth to Port of Dovercar
- Take the car ferry from Port of Dover to Calaiscarferry
- Drive from Calais to Milancar
21h 4m€295–466
Perth to Milan by train, foot, and bus
Questions & Answers
The cheapest way to get from Perth to Milan is to bus and fly and train which costs €55 - €190 and takes 6h 32m.
The fastest way to get from Perth to Milan is to bus and fly which takes 5h 37m and costs €75 - €230.
No, there is no direct bus from Perth station to Milan. However, there are services departing from Bus Station and arriving at Milano, Autostazione Lampugnano via Edinburgh, Bus Station, London Victoria and Brussels - Midi Train Station. The journey, including transfers, takes approximately 32h 30m.
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., Rotterdam Centraal, Zürich HB and Como S.Giovanni. The journey, including transfers, takes approximately 28h.
The distance between Perth and Milan is 1534 km.
The best way to get from Perth to Milan without a car is to train which takes 20h 3m and costs €350 - €600.
It takes approximately 5h 37m to get from Perth to Milan, including transfers.
Perth to Milan bus services, operated by Scottish Citylink Coaches Ltd, depart from Bus Station.
Perth to Milan train services, operated by ScotRail, depart from Perth station.
The best way to get from Perth to Milan is to train which takes 20h 3m and costs €350 - €600. Alternatively, you can bus, which costs €120 - €230 and takes 32h 30m, you could also fly, which costs €110 - €500 and takes 7h 46m.
What companies run services between Perth, Scotland and Milan, Italy?
You can take a train from Perth to Milano Centrale via London Euston, London St Pancras Intl, Paris Nord, Gare du Nord, Gare de Lyon - Diderot, and Paris Gare De Lyon in around 20h 3m. Alternatively, you can take a bus from Bus Station to Milano, Autostazione Lampugnano via Edinburgh, Bus Station, London Victoria, and Brussels - Midi Train Station in around 32h 30m.
- Website
- ryanair.com
Flights from Edinburgh Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 30m
- When
- Monday and Friday
- Estimated price
- €55–100
Flights from Edinburgh Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €40–160
Flights from Edinburgh Airport to Il Caravaggio International Airport via Charleroi
- Ave. Duration
- 5h 8m
- When
- Wednesday, Friday, and Saturday
- Estimated price
- €40–160
- Website
- easyjet.com
Flights from Edinburgh Airport to Milan Linate Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €65–200
Flights from Edinburgh Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 4h 35m
- When
- Tuesday and Saturday
- Estimated price
- €65–200
Flights from Edinburgh Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 30m
- When
- Monday, Tuesday, Thursday, Friday, and Sunday
- Estimated price
- €35–160
Flights from Edinburgh Airport to Milano Malpensa Airport via Amsterdam Schiphol
- Ave. Duration
- 5h 50m
- When
- Friday and Sunday
- Estimated price
- €35–160
Flights from Glasgow Airport to Milano Malpensa Airport via London Luton
- Ave. Duration
- 5h 20m
- When
- Friday
- Estimated price
- €45–190
- Website
- klm.com
Flights from Edinburgh Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 5h 3m
- When
- Every day
- Estimated price
- €60–330
- Website
- britishairways.com
Flights from Dundee Riverside Airport to Milan Linate Airport via London Heathrow
- Ave. Duration
- 6h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €100–470
- Website
- lufthansa.com
Flights from Edinburgh Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 45m
- When
- Every day
- Estimated price
- €100–250
Flights from Glasgow Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 4h 40m
- When
- Every day
- Estimated price
- €70–300
- Website
- brusselsairlines.com
Flights from Edinburgh Airport to Milan Linate Airport via Brussels
- Ave. Duration
- 4h 20m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €65–270
- Website
- swiss.com
Flights from Edinburgh Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 4h 25m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €150–310
- Website
- eurowings.com
Flights from Edinburgh Airport to Milano Malpensa Airport via Stuttgart
- Ave. Duration
- 4h 45m
- When
- Friday
- Estimated price
- €55–220
- Website
- luxair.lu
Flights from Edinburgh Airport to Milano Malpensa Airport via Luxembourg
- Ave. Duration
- 4h 45m
- When
- Friday
- Estimated price
- €65–290
- Website
- flyulendo.com
Flights from Glasgow Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 30m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- €25–110
- Phone
- +44 330 060 0500
- enquiry@sleeper.scot
- Website
- sleeper.scot
Train from Perth to London Euston
- Ave. Duration
- 8h 19m
- Frequency
- 6 times a week
- Estimated price
- €100–180
- Website
- https://www.sleeper.scot/
Train from Perth to Edinburgh Waverley
- Ave. Duration
- 1h 28m
- Frequency
- 6 times a week
- Estimated price
- €12–21
- Website
- https://www.sleeper.scot/
- Phone
- +44 343 218 6186
- Website
- eurostar.com
Train from London St Pancras Intl to Paris Nord
- Ave. Duration
- 2h 28m
- Frequency
- Hourly
- Estimated price
- €130–230
- Website
- https://www.eurostar.com/rw-en
Train from London St. Pancras Int. to Rotterdam Centraal
- Ave. Duration
- 3h 28m
- Frequency
- Twice daily
- Estimated price
- €150–260
- Website
- https://www.eurostar.com/rw-en
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Paris Gare De Lyon to Milano Centrale
- Ave. Duration
- 6h 42m
- Frequency
- Twice daily
- Estimated price
- €110–190
- Website
- https://www.trenitalia.com/en.html
- 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 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 1m
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Perth to Glasgow Queen Street
- Ave. Duration
- 1h 14m
- Frequency
- Hourly
- Estimated price
- €30–55
- Website
- https://www.scotrail.co.uk/
Train from Perth to Edinburgh Waverley
- Ave. Duration
- 1h 31m
- Frequency
- Hourly
- Estimated price
- €28–50
- 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 18m
- Frequency
- Once daily
- Estimated price
- €18–28
- Website
- https://www.lner.co.uk/
Train from Edinburgh Waverley to King's Cross
- Ave. Duration
- 4h 8m
- Frequency
- Hourly
- Estimated price
- €130–200
- Website
- https://www.lner.co.uk/
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from London St. Pancras Int. to Rotterdam Centraal
- Ave. Duration
- 3h 28m
- Frequency
- 5 times a day
- Estimated price
- €50–140
- Website
- https://www.ns.nl/en
Night train from Rotterdam Centraal to Zuerich Hb
- Ave. Duration
- 11h 34m
- Frequency
- Once a week
- Estimated price
- €85–210
- Website
- https://www.ns.nl/en
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich HB to Como S. Giovanni
- Ave. Duration
- 2h 35m
- Frequency
- Every 2 hours
- Estimated price
- €70–210
- Website
- https://www.sbb.ch/en
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 2m
- Frequency
- Once daily
- Estimated price
- €16–50
- Website
- https://www.sbb.ch/en
Train from Edinburgh Waverley to Sheffield
- Ave. Duration
- 3h 49m
- Frequency
- Hourly
- Estimated price
- €160–230
- Website
- https://www.crosscountrytrains.co.uk/
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Perth station to Edinburgh Airport
- Ave. Duration
- 59 min
- Frequency
- Every 2 hours
- Estimated price
- €8–12
- Website
- https://www.ember.to/
- Phone
- 0141 352 4444
- info@citylink.co.uk
- Website
- citylink.co.uk
Bus from Bus Station to Edinburgh, Bus Station
- Ave. Duration
- 1h 24m
- Frequency
- Every 3 hours
- Estimated price
- €11–16
- Website
- https://www.citylink.co.uk/
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Bus Station to Edinburgh, Bus Station
- Ave. Duration
- 1h 35m
- Frequency
- 5 times a day
- Estimated price
- €5–9
- Website
- https://www.flixbus.co.uk
Bus from Edinburgh, Bus Station to London Victoria
- Ave. Duration
- 8h 20m
- Frequency
- Hourly
- Estimated price
- €40–70
- Website
- https://www.flixbus.co.uk
- Phone
- 01698 653164
- enquiries@parksofhamilton.co.uk
- Website
- parksofhamilton.co.uk
Bus from Bus Station to Edinburgh, Bus Station
- Ave. Duration
- 1h 20m
- Frequency
- 5 times a day
- Website
- https://www.parksofhamilton.co.uk/
- Phone
- +420 222 222 221
- info@regiojet.cz
- Website
- regiojet.com
Bus from London Victoria to Brussels Midi / Brussels South West
- Ave. Duration
- 6h 30m
- Frequency
- Twice a week
- Estimated price
- €23–35
- Website
- https://regiojet.com/
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Brussels - Midi Train Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 13h 20m
- Frequency
- Twice daily
- Estimated price
- €55–110
- Website
- https://www.blablacar.co.uk/bus
- 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
- €32–37
- 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
- 01304 44 88 88
- customer.services@poferries.com
- Website
- poferries.com
Car ferry from Port of Dover to Calais
- Ave. Duration
- 1h 35m
- Frequency
- Every 2 hours
- Estimated price
- €8–21
- Website
- https://www.poferries.com/en
- 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
- €6–35
- Website
- https://www.irishferries.com/uk-en/Travel-to-Ireland
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 Scottish Citylink Coaches Ltd, arrive at Edinburgh, Bus Station.
Milan is 1h ahead of Perth. It is currently 7:49 AM in Perth and 8:49 AM in Milan.
Perth to Milan train services, operated by ScotRail, arrive at Edinburgh Waverley station.
Book your Perth to Milan bus tickets online with Omio.
There are 14640+ hotels available in Milan.











































































