Travel from Italy to Portugal is: Unrestricted. See details.
Rome2rio uses cookies to help personalize content and show you personalised ads. By proceeding, you accept the use of cookies in accordance with our privacy policy. You may opt out of personalised ads at any time. OK

Need a hotel room in Vila Nova de Gaia?

Book now

There are 12 ways to get from Milan to Porto Airport (OPO) by plane, bus, train, towncar 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.

Recommended option

Fly from Milan Malpensa

  1. Fly from Milan Malpensa (MXP) to Porto (OPO)

Cheapest option

Bus to Milan Bergamo, fly

  1. Take the bus from Milan Centrale to Bergamo Airport Bus Station
  2. Fly from Milan Bergamo (BGY) to Porto (OPO)

10 alternative options

Fly from Milan Linate

  1. Fly from Milan Linate (LIN) to Porto (OPO)

Train to Zurich, fly

  1. Take the train from Milano Centrale to Zuerich Hb
  2. Fly from Zurich (ZRH) to Porto (OPO)

Train, train to Geneva, fly

  1. Take the train from Milano Centrale to Brig
  2. Take the train from Brig to Genève-Aéroport
  3. Fly from Geneva (GVA) to Porto (OPO)

Train, train to Basel, fly

  1. Take the train from Milano Centrale to Lugano
  2. Take the train from Lugano to Basel SBB
  3. Fly from Basel (BSL) to Porto (OPO)

Train, towncar

  1. Take the train from Milano Centrale to Lyon Part Dieu
  2. Take the train from Lyon Part Dieu to Barcelona-Sants
  3. Take the train from Barcelona-Sants to Madrid-Puerta De Atocha
  4. Take a town car from Madrid to Porto Airport

Train, bus, towncar

  1. Take the train from Milano Centrale to Lyon Part Dieu
  2. Take the train from Lyon Part Dieu to Barcelona-Sants
  3. Take the train from Barcelona-Sants to Ourense
  4. Take the bus from Ourense to Monção
  5. Take a town car from Monção to Porto Airport

Train, bus via Chambéry

  1. Take the train from Milano P.Garibaldi to Chambery Challes Les Eaux
  2. Take the bus from Chambéry to Porto - São João Hospital

Bus, towncar

  1. Take the bus from Milan Lampugnano M1 to Valladolid Central Bus Station
  2. Take the bus from Valladolid to Bragança
  3. Take a town car from Bragança to Porto Airport

Train, bus

  1. Take the train from Milano Centrale to Martigny
  2. Take the bus from Martigny to Porto

Drive

  1. Drive from Milan to Porto Airport (OPO)

Milan to Porto Airport (OPO) by train and bus

The journey time between Milan and Porto Airport (OPO) is around 34h 44m and covers a distance of around 2184 km. This includes an average layover time of around 2h. Operated by Trenitalia EuroCity, Swiss Railways (SBB/CFF/FFS), FlixBus and others, the Milan to Porto Airport (OPO) service departs from Milano Centrale and arrives in Porto. Typically three services run weekly, although weekend and holiday schedules can vary so check in advance.

3 Weekly Services
34h 44m Average Duration
€160 Cheapest Price
See schedules

Questions & Answers

The cheapest way to get from Milan to Porto Airport (OPO) is to fly which costs €35 - €230 and takes 5h 12m.

More details

The fastest way to get from Milan to Porto Airport (OPO) is to fly which takes 5h 12m and costs €35 - €230.

More details

The distance between Milan and Porto Airport (OPO) is 1515 km. The road distance is 1950.2 km.

Get driving directions

The best way to get from Milan to Porto Airport (OPO) without a car is to train and towncar which takes 21h 19m and costs €650 - €950.

More details

It takes approximately 5h 12m to get from Milan to Porto Airport (OPO), including transfers.

More details

The quickest flight from Milan Malpensa Airport to Porto Airport is the direct flight which takes 2h 35m.

Search flights

Porto Airport (OPO) is 1h behind Milan. It is currently 12:29 AM in Milan and 11:29 PM in Porto Airport (OPO).

Yes, the driving distance between Milan to Porto Airport (OPO) is 1950 km. It takes approximately 18h 34m to drive from Milan to Porto Airport (OPO).

Get driving directions

Swiss, Luxair, Lufthansa and six other airlines offer flights from Milan Malpensa Airport to Porto Airport.

Search flights

There are 707+ hotels available in Porto Airport (OPO). Prices start at €87 per night.

More details

Map of how to get from Milan to Porto Airport (OPO).
Launch map view
  • Distance: 1514.9 km
  • Duration: 5h 12m

What companies run services between Milan, Italy and Porto Airport (OPO), Portugal?

Ryanair, easyJet and seven other airlines fly from Milan to Porto Airport (OPO) every 2 hours.

Airlines
easyJet
Website
easyjet.com
Flights from Milan Malpensa to Porto
Ave. Duration
2h 40m
When
Every day
Estimated price
€35 - €210
Flights from Milan Malpensa to Porto via Luxembourg
Ave. Duration
5h 40m
When
Monday
Estimated price
€35 - €210
Flights from Milan Linate to Porto via Berlin Brandenburg
Ave. Duration
8h 5m
When
Monday
Estimated price
€90 - €300
Flights from Zurich to Porto
Ave. Duration
2h 40m
When
Monday, Thursday, Friday and Sunday
Estimated price
€45 - €330
Flights from Geneva to Porto
Ave. Duration
2h 19m
When
Every day
Estimated price
€60 - €340
Flights from Geneva to Porto via Ibiza
Ave. Duration
4h 30m
When
Monday
Estimated price
€60 - €340
Flights from Basel to Porto
Ave. Duration
2h 35m
When
Every day
Estimated price
€35 - €480
Flights from Basel to Porto via Bordeaux
Ave. Duration
5h 10m
When
Monday and Thursday
Estimated price
€35 - €480
Flights from Basel to Porto via Nice
Ave. Duration
5h 30m
When
Monday and Friday
Estimated price
€35 - €480
Flights from Basel to Porto via Berlin Brandenburg
Ave. Duration
6h
When
Monday
Estimated price
€35 - €480
Ryanair
Website
ryanair.com
Flights from Milan Malpensa to Porto
Ave. Duration
2h 35m
When
Monday, Friday and Sunday
Estimated price
€30 - €310
Flights from Milan Malpensa to Porto via Madrid
Ave. Duration
5h 10m
When
Tuesday
Estimated price
€30 - €310
Flights from Milan Malpensa to Porto via London Stansted
Ave. Duration
5h 22m
When
Tuesday and Saturday
Estimated price
€30 - €310
Flights from Milan Bergamo to Porto
Ave. Duration
2h 44m
When
Every day
Estimated price
€27 - €240
Flights from Milan Bergamo to Porto via Madrid
Ave. Duration
5h 11m
When
Friday and Sunday
Estimated price
€27 - €240
Flights from Milan Bergamo to Porto via Valencia
Ave. Duration
4h 45m
When
Friday and Sunday
Estimated price
€27 - €240
Flights from Milan Bergamo to Porto via Palma Mallorca
Ave. Duration
4h 45m
When
Sunday
Estimated price
€27 - €240
Flights from Milan Bergamo to Porto via Barcelona
Ave. Duration
5h 21m
When
Monday, Saturday and Sunday
Estimated price
€27 - €240
Flights from Milan Bergamo to Porto via Beauvais
Ave. Duration
5h 15m
When
Tuesday and Thursday
Estimated price
€27 - €240
Flights from Milan Bergamo to Porto via London Stansted
Ave. Duration
5h 37m
When
Thursday and Friday
Estimated price
€27 - €240
TAP Portugal
Website
flytap.com
Flights from Milan Malpensa to Porto via Lisbon
Ave. Duration
4h 57m
When
Every day
Estimated price
€40 - €330
Flights from Zurich to Porto
Ave. Duration
2h 38m
When
Monday, Thursday, Friday, Saturday and Sunday
Estimated price
€70 - €410
Flights from Zurich to Porto via Lisbon
Ave. Duration
5h 6m
When
Every day
Estimated price
€60 - €380
Flights from Geneva to Porto
Ave. Duration
2h 20m
When
Every day
Estimated price
€95 - €550
Flights from Geneva to Porto via Lisbon
Ave. Duration
4h 50m
When
Every day
Estimated price
€75 - €550
Lufthansa
Website
lufthansa.com
Flights from Milan Malpensa to Porto via Frankfurt
Ave. Duration
5h 30m
When
Every day
Estimated price
€120 - €460
Flights from Milan Linate to Porto via Frankfurt
Ave. Duration
5h 46m
When
Every day
Estimated price
€130 - €700
Flights from Milan Linate to Porto via Munich
Ave. Duration
6h 55m
When
Friday, Saturday and Sunday
Estimated price
€130 - €700
Flights from Zurich to Porto via Frankfurt
Ave. Duration
5h 5m
When
Every day
Estimated price
€150 - €550
Flights from Basel to Porto via Frankfurt
Ave. Duration
5h 45m
When
Every day
Estimated price
€160 - €1100
Vueling Airlines
Website
vueling.com
Flights from Milan Malpensa to Porto via Paris Orly
Ave. Duration
4h 35m
When
Monday, Tuesday, Thursday, Friday, Saturday and Sunday
Estimated price
€50 - €380
Flights from Milan Malpensa to Porto via Bilbao
Ave. Duration
5h 20m
When
Sunday
Estimated price
€50 - €380
Flights from Milan Linate to Porto via Madrid
Ave. Duration
5h 2m
When
Every day
Estimated price
€80 - €550
Flights from Zurich to Porto via Madrid
Ave. Duration
5h 10m
When
Every day
Estimated price
€95 - €600
Flights from Geneva to Porto via Madrid
Ave. Duration
4h 25m
When
Every day
Estimated price
€100 - €470
Swiss
Website
swiss.com
Flights from Milan Malpensa to Porto via Zurich
Ave. Duration
4h 50m
When
Sunday
Estimated price
€110 - €420
Flights from Zurich to Porto
Ave. Duration
2h 38m
When
Monday, Thursday, Friday, Saturday and Sunday
Estimated price
€70 - €410
Flights from Zurich to Porto via Geneva
Ave. Duration
4h 35m
When
Monday, Thursday, Friday, Saturday and Sunday
Estimated price
€80 - €430
Flights from Geneva to Porto
Ave. Duration
2h 20m
When
Every day
Estimated price
€95 - €550
Iberia
Website
iberia.com
Flights from Milan Malpensa to Porto via Paris Orly
Ave. Duration
4h 35m
When
Monday, Tuesday, Thursday, Friday, Saturday and Sunday
Estimated price
€50 - €380
Flights from Milan Linate to Porto via Madrid
Ave. Duration
5h 2m
When
Every day
Estimated price
€80 - €550
Flights from Zurich to Porto via Madrid
Ave. Duration
5h 10m
When
Every day
Estimated price
€95 - €600
Flights from Geneva to Porto via Madrid
Ave. Duration
4h 25m
When
Every day
Estimated price
€100 - €470
Air France
Website
airfrance.com
Flights from Milan Linate to Porto via Paris Charles de Gaulle
Ave. Duration
5h 10m
When
Every day
Estimated price
€140 - €700
Flights from Zurich to Porto via Paris Charles de Gaulle
Ave. Duration
5h 15m
When
Every day
Estimated price
€150 - €650
Flights from Geneva to Porto via Paris Charles de Gaulle
Ave. Duration
4h 40m
When
Every day
Estimated price
€140 - €600
KLM
Website
klm.com
Flights from Milan Linate to Porto via Amsterdam Schiphol
Ave. Duration
5h 45m
When
Monday, Wednesday, Thursday, Friday, Saturday and Sunday
Estimated price
€50 - €400
Flights from Basel to Porto via Amsterdam Schiphol
Ave. Duration
5h 30m
When
Every day
Estimated price
€75 - €460
Air Europa
Website
aireuropa.com
Flights from Milan Malpensa to Porto via Madrid
Ave. Duration
5h 35m
When
Every day
Estimated price
€80 - €330
Flights from Zurich to Porto via Madrid
Ave. Duration
5h 5m
When
Every day
Estimated price
€65 - €470
Brussels Airlines
Website
brusselsairlines.com
Flights from Milan Linate to Porto via Brussels
Ave. Duration
6h 10m
When
Monday, Wednesday, Friday and Saturday
Estimated price
€160 - €850
Flights from Geneva to Porto via Brussels
Ave. Duration
4h 50m
When
Monday, Wednesday, Friday, Saturday and Sunday
Estimated price
€180 - €1600
Luxair
Website
luxair.lu
Flights from Milan Malpensa to Porto via Luxembourg
Ave. Duration
4h 55m
When
Monday to Friday
Estimated price
€85 - €650
Royal Air Maroc
Website
royalairmaroc.com
Flights from Milan Malpensa to Porto via Casablanca
Ave. Duration
5h 50m
When
Friday
Estimated price
€280 - €1600
British Airways
Website
britishairways.com
Flights from Milan Linate to Porto via London Heathrow
Ave. Duration
7h 15m
When
Monday, Thursday, Friday and Saturday
Estimated price
€200 - €1400
Train operators
Trenitalia EuroCity

The primary train operator in Italy, Trenitalia was created in the year 2000. Trenitalia offers national rail connections in Italy as well as international connections to Austria, France, Germany and Switzerland. The company operates regional and long-distance trains, as well as high-speed trains called Frecce that travel on specialised tracks on speeds of up to 360km/h. Trenitalia tickets are available online, in stations across the country or from many travel agents that offer bookings.

Contact Details
Phone
+39 06 68475475
Website
trenitalia.com
Train from Milano Centrale to Zuerich Hb
Ave. Duration
3h 17m
Frequency
Every 2 hours
Estimated price
€55 - €140
Website
Trenitalia Eurocity
2nd Class
€55 - €75
1st Class
€95 - €140
Train from Milano Centrale to Brig
Ave. Duration
1h 54m
Frequency
Every 3 hours
Estimated price
€40 - €100
Website
Trenitalia Eurocity
2nd Class
€40 - €55
1st Class
€70 - €100
Train from Brig to Geneve-Aeroport
Ave. Duration
2h 37m
Frequency
Once daily
Estimated price
€45 - €120
Website
Trenitalia Eurocity
2nd Class
€45 - €70
1st Class
€85 - €120
Train from Milano Centrale to Lugano
Ave. Duration
1h 18m
Frequency
Hourly
Estimated price
€24 - €65
Website
Trenitalia Eurocity
2nd Class
€24 - €35
1st Class
€45 - €65
Train from Lugano to Basel Sbb
Ave. Duration
2h 54m
Frequency
3 times a day
Estimated price
€45 - €100
Website
Trenitalia Eurocity
2nd Class
€45 - €65
1st Class
€70 - €100
Train from Milano Centrale to Martigny
Ave. Duration
2h 54m
Frequency
Once daily
Estimated price
€55 - €130
Website
Trenitalia Eurocity
2nd Class
€55 - €75
1st Class
€95 - €130
Swiss Railways (SBB/CFF/FFS)

The national railway company of Switzerland, Swiss Railways operates trains throughout the country and adjacent European nations including Germany, France, Italy and Austria. Tickets are sold in two classes - First and Second - with most long-distance trains offering a bistro car serving beverages and snacks. Individual tickets can be bought easily at stands, while a variety of travel passes are on offer to suit different travel needs.

Contact Details
Phone
+41 51 220 11 11
Website
sbb.ch
Train from Milano Centrale to Zürich HB
Ave. Duration
3h 17m
Frequency
Once daily
Estimated price
€80 - €140
Website
Swiss Railways (SBB/CFF/FFS)
Train from Milano Centrale to Brig
Ave. Duration
1h 56m
Frequency
3 times a day
Estimated price
€50 - €100
Website
Swiss Railways (SBB/CFF/FFS)
Train from Brig to Genève-Aéroport
Ave. Duration
2h 33m
Frequency
Every 30 minutes
Estimated price
€65 - €120
Website
Swiss Railways (SBB/CFF/FFS)
Train from Milano Centrale to Lugano
Ave. Duration
1h 15m
Frequency
Every 30 minutes
Estimated price
€29 - €55
Website
Swiss Railways (SBB/CFF/FFS)
Train from Lugano to Basel SBB
Ave. Duration
2h 54m
Frequency
Hourly
Estimated price
€70 - €130
Website
Swiss Railways (SBB/CFF/FFS)
Train from Milano Centrale to Martigny
Ave. Duration
2h 54m
Frequency
6 times a week
Estimated price
€75 - €140
Website
Swiss Railways (SBB/CFF/FFS)
Trenitalia

The primary train operator in Italy, Trenitalia was created in the year 2000. Trenitalia offers national rail connections in Italy as well as international connections to Austria, France, Germany and Switzerland. The company operates regional and long-distance trains, as well as high-speed trains called Frecce that travel on specialised tracks on speeds of up to 360km/h. Trenitalia tickets are available online, in stations across the country or from many travel agents that offer bookings.

Contact Details
Phone
+39 06 68475475
Website
trenitalia.com
Train from Milano Centrale to Lyon Part Dieu
Ave. Duration
4h 43m
Frequency
3 times a day
Estimated price
€30 - €60
Website
Trenitalia
1st Class
€53 - €58
Frequently asked questions
Is there Wi-Fi on Trenitalia?
Yes - Wi-Fi is available on both Frecciarossa and Frecciargento services, and may be accessed free of charge. Services require either a mobile phone number or credit card for verification purposes and allow access for 24 hours.
Are there power outlets on Trenitalia?
Yes - Frecce services include a power socket for each seat.
Does Trenitalia offer meals or snacks?
Yes - Frecciarossa and Frecciargento services often offer bar and restaurant options, though this depends on the individual route and train type. Business, Premium and First Class tickets include a complimentary drink and snack. Some services may offer restaurant, FRECCIABistro or pre-booked, in-seat meal options. Please check your service as options vary.
For more information, please visit this page
Renfe SNCF
Phone
+34 902 320 320
Email
comunicacion@renfe.es
Website
renfe-sncf.com
Train from Lyon Part Dieu to Barcelona-Sants
Ave. Duration
4h 57m
Frequency
Once daily
Estimated price
€60 - €85
Website
renfe-sncf.com
Train from Barcelona-Sants to Madrid-Puerta De Atocha
Ave. Duration
2h 55m
Frequency
Once daily
Estimated price
€55 - €85
Website
renfe-sncf.com
Renfe AVE
Rome2rio's guide to Renfe AVE
Contact Details
Phone
+34 91 232 03 20
Email
comunicacion@renfe.es
Website
renfe.com
Train from Barcelona-Sants to Madrid-Puerta De Atocha
Ave. Duration
2h 45m
Frequency
Hourly
Estimated price
€60 - €120
Website
Renfe AVE
Promo
€60 - €80
Promo+
€69 - €74
Flexible
€90 - €120
Renfe Viajeros

Spain's excellent and extensive rail system connects cities across Spain and into neighbouring countries. Renfe's high-speed AVE trains can reach speeds of up to 350km/h, making travel between major cities very efficient. All medium- and long-distance trains require a seat reservation; ticket sales for these trains usually open 30-60 days before travel. Most Renfe trains have two classes: Turista (2nd class) and Preferente (1st class), although some AVE trains offer Turista Plus. There is free WiFi for Preferente passengers and for those with a +Renfe loyalty card.

Rome2rio's guide to Renfe Viajeros
Contact Details
Phone
+34 91 232 03 20
Email
comunicacion@renfe.es
Website
renfe.com
Train from Barcelona-Sants to Ourense
Ave. Duration
11h 51m
Frequency
5 times a day
Estimated price
€65 - €85
Website
Renfe Viajeros
TGV inOui

France’s high-speed TGV train network runs at speeds of up to 320km/h connecting major cities across France and into neighbouring countries. All TGV tickets include a seat reservation; seating is 1+2 in 1st class, 2+2 in 2nd class. Popular routes include Paris to Marseille and Paris to Strasbourg. Most TGVs have a cafe area, power points at each seat and WiFi.

Contact Details
Phone
0033 892 353535
Website
en.oui.sncf
Train from Milano P.Garibaldi to Chambery Challes Les Eaux
Ave. Duration
4h 4m
Frequency
3 times a day
Estimated price
€60 - €75
Website
Oui.SNCF
2nd Class
€60 - €70
1st Class
€60 - €75
Bus operators
Autostradale
Phone
+39 02 3008 9000
Email
info@autostradale.it
Website
autostradale.it
Bus from Milan Centrale to Bergamo Airport Bus Station
Ave. Duration
1h
Frequency
Every 30 minutes
Estimated price
€7 - €10
Website
Autostradale
Website
Autostradale
TerraVision IT
Email
customerservices@terravision.eu
Website
terravision.eu
Bus from Milan Centrale Piazza Luigi di Savoia to Bergamo Airport Bus Station
Ave. Duration
1h
Frequency
Every 30 minutes
Estimated price
€6 - €10
Website
TerraVision IT
FlixBus

One of Europe’s leading bus companies, Flixbus serves 2000+ destinations in 29 countries, including Germany, France, Italy, Austria, the Netherlands and Croatia and into Scandinavia and eastern Europe, as well as some US cities. Coaches have toilets, free WiFi and power outlets, plus snacks and drinks for purchase on board. Flixbus is a good choice for the budget-conscious traveller; purchase tickets in advance for the cheapest fares (note: there is no option to reserve a seat in advance).

Rome2rio's guide to FlixBus
Contact Details
Phone
+49 30 300 137 300
Email
service@flixbus.com
Website
flixbus.de
Bus from Ourense to Monção
Ave. Duration
1h 20m
Frequency
3 times a week
Estimated price
€7 - €9
Website
flixbus.co.uk
Bus from Valladolid to Bragança
Ave. Duration
2h 35m
Frequency
Once daily
Estimated price
€12 - €15
Website
flixbus.co.uk
Bus from Martigny to Porto
Ave. Duration
29h 25m
Frequency
3 times a week
Estimated price
€80 - €110
Website
flixbus.co.uk
Frequently asked questions
Is there Wi-Fi on FlixBus?
Yes - FlixBus offers free Wi-Fi
Are there power outlets on FlixBus?
Yes
Does FlixBus offer meals or snacks?
Yes - snacks and drinks may be purchased from the driver. Please note, this is not available on all services.
For more information, please visit this page
Transportes Barquense
Phone
(+351) 258 454 303
Email
info@barquense.com
Website
barquense.pt
Bus from Chambéry to Porto - São João Hospital
Ave. Duration
25h 48m
Frequency
Once daily
Estimated price
€75 - €100
Schedules at
barquense.pt
Union Ivkoni
Phone
02/989 0000
Website
union-ivkoni.com
Bus from Milan Lampugnano M1 to Valladolid Central Bus Station
Ave. Duration
24h
Frequency
4 times a week
Estimated price
€50 - €75
Website
Union Ivkoni
Cooperativa Interurbana Andorrana
Phone
+376 806 555
Email
cooperativa@interurbana.ad
Website
interurbana.ad
Bus from Valladolid Central Bus Station to Braganca Rua da Estacao
Ave. Duration
3h
Frequency
5 times a week
Website
Cooperativa Interurbana Andorrana
Other operators
VMTransfers
Phone
(+351) 220971653
Email
info@vmtransfers.com
Website
vmtransfers.com
Towncar from Madrid to Porto Airport
Ave. Duration
6h 35m
Frequency
On demand
Estimated price
€500 - €650
More information at
VMTransfers
Towncar from Monção to Porto Airport
Ave. Duration
1h 29m
Frequency
On demand
Estimated price
€120 - €160
More information at
VMTransfers
Towncar from Bragança to Porto Airport
Ave. Duration
2h 10m
Frequency
On demand
Estimated price
€200 - €240
More information at
VMTransfers

Want to know more about travelling around Portugal

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.

More Questions & Answers

The best way to get from Milan to Milan Malpensa Airport is to train which takes 37 min and costs €11 - €16.

More details

ticket