There are 10 ways to get from Porto Airport (OPO) to Milan by plane, towncar, bus, train, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly to Milan Linate Airport
best- Fly from Francisco De Sá Carneiro Airport (OPO) to Milan Linate Airport (LIN)plane OPO - LIN
2h 54m€57–220Fly to Milano Malpensa Airport, train
cheapest- Fly from Francisco De Sá Carneiro Airport (OPO) to Milano Malpensa Airport (MXP)plane OPO - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
3h 28m€32–167Towncar, bus, train via Barcelona
- Take a town car from Porto - Aeroporto Francisco Sá Carneiro to Viseutowncar
- Take the bus from Estação Rodoviária de Viseu to Estación Sur de Autobusesbus
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- Take the train from Barcelona-Sants to Lyon Part Dieutrain
- Take the train from Lyon Part Dieu to Milano Centraletrain Fr
23h 58m€390–635Towncar, bus, train
- Take a town car from Porto - Aeroporto Francisco Sá Carneiro to Bragatowncar
- Take the bus from Braga to Saint-Étienne - Rue Milleret Bus Stopbus
- Take the train from St Etienne Chateaucreux to Lyon Part Dieutrain Ter
- Take the train from Lyon Part Dieu to Milano Centraletrain Fr
27h 59m€260–415Drive 1,863.9 km
- Drive from Porto Airport (OPO) to Milancar 1,863.9 km
20h 3m€289–418Fly to Il Caravaggio International Airport, bus
- Fly from Francisco De Sá Carneiro Airport (OPO) to Il Caravaggio International Airport (BGY)plane OPO - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
3h 35m€60–241Fly to Turin Caselle Airport, train
- Fly from Francisco De Sá Carneiro Airport (OPO) to Turin Caselle Airport (TRN)plane OPO - TRN
- Take the train from Torino Porta di Susa to Milano Centraletrain
4h 32m€76–278Bus
- Take the bus from Porto - Terminal Intermodal de Campanhã to Lyon - Gerland Bus Stationbus BlaBlaCar Bus
- Take the bus from Lyon - Gerland Bus Station to Milano, Autostazione Lampugnanobus BlaBlaCar Bus
29h 44m€168–333Bus via Marseille
- Take the bus from Porto to Marseillebus FlixBus N1137
- Take the bus from Marseille, Gare de Marseille-Saint-Charles to Milano, Autostazione Lampugnanobus 798 / ...
32h 25m€176–298Bus, train
- Take the bus from Porto - Hospital de São João to Chambéry - Rue Dr Vernierbus Linha Lyon Express
- Take the train from Chambery Challes Les Eaux to Milano Centraletrain Fr
32h 38m€118–170
Porto Airport (OPO) to Milan by bus
Questions & Answers
The cheapest way to get from Porto Airport (OPO) to Milan is to fly and train which costs €30 - €170 and takes 3h 28m.
The fastest way to get from Porto Airport (OPO) to Milan is to fly which takes 2h 54m and costs €55 - €220.
No, there is no direct bus from Porto Airport (OPO) to Milan. However, there are services departing from Porto and arriving at Milano, Autostazione Lampugnano via Porto - Terminal Intermodal de Campanhã and Lyon - Gerland Bus Station. The journey, including transfers, takes approximately 29h 44m.
The distance between Porto Airport (OPO) and Milan is 1529 km. The road distance is 1863.9 km.
The best way to get from Porto Airport (OPO) to Milan without a car is to towncar and bus and train via Barcelona which takes 23h 58m and costs €390 - €650.
It takes approximately 2h 54m to get from Porto Airport (OPO) to Milan, including transfers.
Porto Airport (OPO) to Milan bus services, operated by FlixBus, depart from Porto station.
The best way to get from Porto Airport (OPO) to Milan is to fly which takes 2h 54m and costs €55 - €220. Alternatively, you can bus, which costs €160 - €340 and takes 29h 44m.
Porto Airport (OPO) to Milan bus services, operated by FlixBus, arrive at Marseille station.
Milan is 1h ahead of Porto Airport (OPO). It is currently 3:02 PM in Porto Airport (OPO) and 4:02 PM in Milan.
What companies run services between Porto Airport (OPO), Portugal and Milan, Italy?
easyJet, Iberia, and Luxair fly from Francisco De Sá Carneiro Airport (OPO) to Milan Linate Airport (LIN) 3 times a day. Alternatively, you can take a bus from Porto to Milano, Autostazione Lampugnano via Porto, Porto - Terminal Intermodal de Campanhã, and Lyon - Gerland Bus Station in around 29h 44m.
- Website
- ryanair.com
Flights from Francisco De Sá Carneiro Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- €50–190
Flights from Francisco De Sá Carneiro Airport to Il Caravaggio International Airport via Valencia
- Ave. Duration
- 5h 5m
- When
- Monday and Friday
- Estimated price
- €50–190
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €50–110
Flights from Francisco De Sá Carneiro Airport to Turin Caselle Airport
- Ave. Duration
- 2h 20m
- When
- Tuesday and Saturday
- Estimated price
- €55–200
Flights from Francisco De Sá Carneiro Airport to Turin Caselle Airport via Barcelona
- Ave. Duration
- 4h 57m
- When
- Tuesday and Friday
- Estimated price
- €55–200
- Website
- iberia.com
Flights from Francisco De Sá Carneiro Airport to Milan Linate Airport via Madrid
- Ave. Duration
- 5h 23m
- When
- Every day
- Estimated price
- €70–230
Flights from Francisco De Sá Carneiro Airport to Turin Caselle Airport via Madrid
- Ave. Duration
- 5h 25m
- When
- Every day
- Estimated price
- €50–230
- Website
- easyjet.com
Flights from Francisco De Sá Carneiro Airport to Milan Linate Airport
- Ave. Duration
- 2h 40m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €40–210
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 25m
- When
- Monday
- Estimated price
- €40–180
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport via Bordeaux
- Ave. Duration
- 4h 5m
- When
- Sunday
- Estimated price
- €40–180
- Website
- luxair.lu
Flights from Francisco De Sá Carneiro Airport to Milan Linate Airport via Luxembourg
- Ave. Duration
- 6h
- When
- Tuesday
- Estimated price
- €95–460
- Website
- flyulendo.com
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 30m
- When
- Monday
- Estimated price
- €23–100
- Phone
- +34 91 232 03 20
- Website
- Renfe AVE
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 22m
- Frequency
- Every 30 minutes
- Estimated price
- €95–170
- Website
- Renfe AVE
- Phone
- +34 900 926 851
- [email protected]
- Website
- Iryo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 31m
- Frequency
- Hourly
- Estimated price
- €60–130
- Website
- Iryo
- Phone
- +34 900 759 781
- Website
- Ouigo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 23m
- Frequency
- Every 2 hours
- Estimated price
- €55–100
- Website
- Ouigo
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- 4 times a day
- Estimated price
- €75–120
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Twice daily
- Estimated price
- €80–130
- Website
- Renfe Viajeros
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Lyon Part Dieu to Milano Centrale
- Ave. Duration
- 4h 44m
- Frequency
- 4 times a day
- Estimated price
- €55–90
- Website
- Trenitalia
Train from Lyon Part Dieu to Milano Centrale
- Ave. Duration
- 4h 44m
- Frequency
- 4 times a day
- Estimated price
- €55–90
- Website
- Trenitalia
Train from Chambery Challes Les Eaux to Milano Centrale
- Ave. Duration
- 3h 21m
- Frequency
- 4 times a day
- Estimated price
- €40–70
- Website
- Trenitalia
- Phone
- +33 1 84 94 36 35
- Website
- Oui.SNCF
Train from St Etienne Chateaucreux to Lyon Part Dieu
- Ave. Duration
- 46 min
- Frequency
- Every 30 minutes
- Estimated price
- €10–20
- Website
- Oui.SNCF
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from St Etienne Chateaucreux to Lyon Part Dieu
- Ave. Duration
- 46 min
- Frequency
- Every 4 hours
- Estimated price
- €12–20
- Website
- TGV inOui
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- Trenord
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Torino Porta di Susa to Milano Centrale
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- €18–35
- Website
- Italo Treno
- Phone
- +351 21 75 24 524
- Website
- Rede Expressos
Bus from Estação Rodoviária de Viseu to Estación Sur de Autobuses
- Ave. Duration
- 5h 31m
- Frequency
- Twice daily
- Estimated price
- €30–75
- Website
- Rede Expressos
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Braga to Saint-Étienne - Rue Milleret Bus Stop
- Ave. Duration
- 19h 29m
- Frequency
- 4 times a day
- Estimated price
- €130–240
- Website
- BlaBlaCar Bus
Bus from Porto - Terminal Intermodal de Campanhã to Lyon - Gerland Bus Station
- Ave. Duration
- 21h 44m
- Frequency
- 5 times a day
- Estimated price
- €140–260
- Website
- BlaBlaCar Bus
Bus from Lyon - Gerland Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 6h 15m
- Frequency
- Hourly
- Estimated price
- €35–70
- Website
- BlaBlaCar Bus
- [email protected]
- Website
- TERRAVISION
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–25
- Website
- TERRAVISION
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Lyon - Gerland Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 7h 5m
- Frequency
- Every 3 hours
- Estimated price
- €35–65
- Website
- Flixbus
Bus from Porto to Marseille
- Ave. Duration
- 22h
- Frequency
- Once daily
- Estimated price
- €130–220
- Website
- Flixbus
Bus from Marseille, Gare de Marseille-Saint-Charles to Milano, Autostazione Lampugnano
- Ave. Duration
- 8h 5m
- Frequency
- Twice daily
- Estimated price
- €45–75
- Website
- Flixbus
- Phone
- +39 06 88 93 82 32
- Website
- Itabus S.p.A.
Bus from Lyon - Gerland Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 6h 40m
- Frequency
- 4 times a day
- Estimated price
- €27–55
- Website
- Itabus S.p.A.
- Phone
- (+351) 258 454 303
- [email protected]
- Website
- barquense.pt
Bus from Porto - Hospital de São João to Chambéry - Rue Dr Vernier
- Ave. Duration
- 26h 26m
- Frequency
- Once a week
- Estimated price
- €75–95
- Schedules at
- barquense.pt
- Book at
- barquense.pt
- Phone
- (+351) 220 971 653
- [email protected]
- Website
- VM Transfers
Towncar from Porto - Aeroporto Francisco Sá Carneiro to Viseu
- Ave. Duration
- 1h 31m
- Frequency
- On demand
- Estimated price
- €170
- Website
- VM Transfers
Towncar from Porto - Aeroporto Francisco Sá Carneiro to Braga
- Ave. Duration
- 36 min
- Frequency
- On demand
- Estimated price
- €65
- Website
- VM Transfers
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
Getting to Milan from the airport
Read the travel guide
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
More Questions & Answers
Yes, the driving distance between Porto Airport (OPO) to Milan is 1864 km. It takes approximately 20h 3m to drive from Porto Airport (OPO) to Milan.
Book your Porto Airport (OPO) to Milan bus tickets online with FlixBus.
There are 14407+ hotels available in Milan.

























































