There are 12 ways to get from Perth to Milan by bus, plane, 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.
Bus to Edinburgh Airport, fly to Milan Linate Airport
best- Take the bus from Leonard Street to Airportbus
- Fly from Edinburgh Airport (EDI) to Milan Linate Airport (LIN)plane EDI - LIN
5h 27mTrain to Glasgow Airport, fly to Milano Malpensa Airport, train
cheapest- 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 12m€60–203Train, 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 Amsterdam Centraaltrain
- Take the night train from Amsterdam 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 7m€355–1,162Bus
- Take the bus from Leonard Street to George Streetbus E9
- 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
31h 45mDrive, 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 Leonard Street to Airportbus
- Fly from Edinburgh Airport (EDI) to Il Caravaggio International Airport (BGY)plane EDI - BGY
6h 6mBus to Edinburgh Airport, fly to Milano Malpensa Airport, train
- Take the bus from Leonard Street to 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 20mTrain to Glasgow Airport, fly to Milan Linate Airport
- Take the train from Perth to Glasgow Queen Streettrain
- Fly from Glasgow Airport (GLA) to Milan Linate Airport (LIN)plane GLA - LIN
8h 15m€117–271Fly Dundee Riverside Airport to Milan Linate Airport
- Fly from Dundee Riverside Airport (DND) to Milan Linate Airport (LIN)plane DND - LIN
8h 23m€107–545Train, bus via Brussels
- 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 16mTrain, bus
- Take the train from Perth to London Eustontrain
- Take the bus from London Victoria to Paris, Quai de Bercy (Bercy Seine)bus 700
- Take the bus from Paris, Quai de Bercy (Bercy Seine) to Milano, Autostazione Lampugnanobus 729
32h 47m€145–315Drive, car ferry
- Drive from Perth to Port of Dovercar
- Take the car ferry from Port of Dover to Calaiscarferry
- Drive from Calais to Milancar
20h 58m€323–474
Perth to Milan by train and night train
Questions & Answers
The cheapest way to get from Perth to Milan is to train and fly which costs €55 - €210 and takes 7h 12m.
The fastest way to get from Perth to Milan is to train and fly which takes 7h 12m and costs €55 - €210.
No, there is no direct bus from Perth to Milan. However, there are services departing from Leonard Street and arriving at Milano, Autostazione Lampugnano via Edinburgh, Bus Station, London Victoria and Brussels - Midi Train Station. The journey, including transfers, takes approximately 31h 45m.
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., Amsterdam Centraal, Zürich HB and Como S.Giovanni. The journey, including transfers, takes approximately 28h 7m.
The distance between Perth and Milan is 1531 km.
The best way to get from Perth to Milan without a car is to train and night train which takes 28h 7m and costs €350 - €1200.
It takes approximately 5h 27m to get from Perth to Milan, including transfers.
Perth to Milan bus services, operated by Ember, depart from Leonard Street station.
Perth to Milan train services, operated by ScotRail, depart from Perth station.
The best way to get from Perth to Milan is to bus which takes 31h 45m and costs . Alternatively, you can fly, which costs €100 - €550 and takes 8h 23m.
What companies run services between Perth, Scotland and Milan, Italy?
You can take a bus from Leonard Street to Milano, Autostazione Lampugnano via George Street, Edinburgh, Bus Station, London Victoria, and Brussels - Midi Train Station in around 31h 45m. Alternatively, Loganair and British Airways fly from Dundee Riverside Airport (DND) to Milan Linate Airport (LIN) twice daily.
- Website
- easyjet.com
Flights from Edinburgh Airport to Milan Linate Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €60–200
Flights from Edinburgh Airport to Milan Linate Airport via Birmingham
- Ave. Duration
- 4h 20m
- When
- Wednesday and Saturday
- Estimated price
- €60–200
Flights from Edinburgh Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 30m
- When
- Sunday
- Estimated price
- €45–140
Flights from Glasgow Airport to Milan Linate Airport via Paris Charles de Gaulle
- Ave. Duration
- 4h 15m
- When
- Monday and Thursday
- Estimated price
- €95–250
Flights from Glasgow Airport to Milan Linate Airport via London Gatwick
- Ave. Duration
- 5h 37m
- When
- Monday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €95–250
Flights from Glasgow Airport to Milano Malpensa Airport via London Luton
- Ave. Duration
- 4h 28m
- When
- Wednesday to Friday
- Estimated price
- €95–160
- Website
- britishairways.com
Flights from Glasgow Airport to Milan Linate Airport via London City
- Ave. Duration
- 4h 30m
- When
- Sunday
- Estimated price
- €70–340
Flights from Glasgow Airport to Milan Linate Airport via London Heathrow
- Ave. Duration
- 4h 54m
- When
- Every day
- Estimated price
- €70–340
Flights from Dundee Riverside Airport to Milan Linate Airport via London Heathrow
- Ave. Duration
- 6h 15m
- When
- Monday to Friday
- Estimated price
- €95–470
- Website
- ryanair.com
Flights from Edinburgh Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 34m
- When
- Monday, Tuesday, Wednesday, Friday, Saturday, and Sunday
- Estimated price
- €40–170
Flights from Edinburgh Airport to Il Caravaggio International Airport via Charleroi
- Ave. Duration
- 4h 20m
- When
- Friday and Saturday
- Estimated price
- €40–170
Flights from Edinburgh Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 30m
- When
- Monday
- Estimated price
- €60–160
- Website
- klm.com
Flights from Edinburgh Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 4h 45m
- When
- Every day
- Estimated price
- €60–330
Flights from Glasgow Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 4h 35m
- When
- Every day
- Estimated price
- €60–320
- Website
- lufthansa.com
Flights from Edinburgh Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 12m
- When
- Every day
- Estimated price
- €100–180
Flights from Edinburgh Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 4h 10m
- When
- Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- €70–280
Flights from Glasgow Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 20m
- When
- Monday, Thursday, and Friday
- Estimated price
- €80–320
Flights from Glasgow Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 4h 5m
- When
- Thursday
- Estimated price
- €65–270
- Website
- brusselsairlines.com
Flights from Edinburgh Airport to Milan Linate Airport via Brussels
- Ave. Duration
- 5h
- When
- Friday
- Estimated price
- €70–260
Flights from Edinburgh Airport to Milano Malpensa Airport via Brussels
- Ave. Duration
- 4h 20m
- 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
- €60–280
- Website
- swiss.com
Flights from Edinburgh Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 5h 5m
- When
- Monday and Saturday
- Estimated price
- €50–280
- Website
- eurowings.com
Flights from Edinburgh Airport to Milano Malpensa Airport via Dusseldorf
- Ave. Duration
- 5h 35m
- When
- Friday
- Estimated price
- €55–220
- Website
- flyulendo.com
Flights from Glasgow Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 25m
- When
- Monday, Wednesday, and Friday
- Estimated price
- €23–150
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Perth to Edinburgh Waverley
- Ave. Duration
- 1h 31m
- Frequency
- Hourly
- Estimated price
- €13–28
- Website
- https://www.scotrail.co.uk/
Train from Perth to Glasgow Queen Street
- Ave. Duration
- 1h 14m
- Frequency
- Hourly
- Estimated price
- €15–28
- 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 17m
- Frequency
- Once daily
- Estimated price
- €12–13
- Website
- https://www.lner.co.uk/
Train from Edinburgh Waverley to King's Cross
- Ave. Duration
- 4h 8m
- Frequency
- Hourly
- Estimated price
- €65–130
- Website
- https://www.lner.co.uk/
- Phone
- +44 330 060 0500
- enquiry@sleeper.scot
- Website
- sleeper.scot
Train from Perth to Edinburgh Waverley
- Ave. Duration
- 1h 28m
- Frequency
- Once daily
- Estimated price
- €70–90
- Website
- https://www.sleeper.scot/
- Sleeper Berth Classic
- €240–260
- Sleeper Seat
- €70–90
- Sleeper Berth Club Solo
- €260–310
Train from Perth to London Euston
- Ave. Duration
- 8h 19m
- Frequency
- Once daily
- Estimated price
- €80–110
- Website
- https://www.sleeper.scot/
- Sleeper Berth Classic
- €250–270
- Sleeper Seat
- €80–110
- Sleeper Berth Club Solo
- €380–440
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from London St. Pancras Int. to Amsterdam Centraal
- Ave. Duration
- 4h 4m
- Frequency
- 5 times a day
- Estimated price
- €110–290
- Website
- https://www.ns.nl/en
Night train from Amsterdam Centraal to Zuerich Hb
- Ave. Duration
- 11h 4m
- Frequency
- Once daily
- Estimated price
- €120–440
- Website
- https://www.ns.nl/en
- 2nd Class
- €120–190
- 1st Class
- €260–440
- Phone
- +44 343 218 6186
- Website
- eurostar.com
Train from London St. Pancras Int. to Amsterdam Centraal
- Ave. Duration
- 4h 16m
- Frequency
- Twice daily
- Estimated price
- €65–330
- Website
- https://www.eurostar.com/rw-en
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich HB to Como S. Giovanni
- Ave. Duration
- 2h 35m
- Frequency
- Hourly
- Estimated price
- €70–130
- Website
- https://www.sbb.ch/en
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 49 min
- Frequency
- Twice a week
- Estimated price
- €22–45
- Website
- https://www.sbb.ch/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 6m
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- 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-72494949
- Website
- malpensaexpress.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €15
- Website
- https://www.malpensaexpress.it/en/
Train from Edinburgh Waverley to Sheffield
- Ave. Duration
- 3h 34m
- Frequency
- Hourly
- Estimated price
- €40–200
- Website
- https://www.crosscountrytrains.co.uk/
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Leonard Street to Airport
- Ave. Duration
- 49 min
- Frequency
- Hourly
- Website
- https://www.ember.to/
Bus from Leonard Street to George Street
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Website
- https://www.ember.to/
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Edinburgh, Bus Station to London Victoria
- Ave. Duration
- 8h 20m
- Frequency
- Hourly
- Estimated price
- €23–90
- Website
- https://www.flixbus.co.uk
Bus from London Victoria to Paris, Quai de Bercy (Bercy Seine)
- Ave. Duration
- 9h 20m
- Frequency
- Every 4 hours
- Estimated price
- €27–110
- Website
- https://www.flixbus.co.uk
Bus from Paris, Quai de Bercy (Bercy Seine) to Milano, Autostazione Lampugnano
- Ave. Duration
- 12h 50m
- Frequency
- 3 times a day
- Estimated price
- €35–100
- Website
- https://www.flixbus.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
- €21–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
- Once daily
- Estimated price
- €40–130
- 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
- +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
- €35–45
- Website
- https://www.irishferries.com/uk-en/Travel-to-Ireland
- Car
- €75–190
- On Foot
- €35–45
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 Ember, arrive at George Street station.
Milan is 1h ahead of Perth. It is currently 10:28 AM in Perth and 11:28 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 13654+ hotels available in Milan.































































