Browse by airline

A fast, easy-to-use flight route finder

Type in your origin and destination city and we will give you the best flight route options based on flight time and connection time along with airline and airports delays.

Flights from Porto to Milan – Direct & connecting routes

Non-stop airlines Connecting flights Show map Price search

OPO to MXP flights and routes map OPO to MXP – All flight route options from Porto Airport, Portugal to Milan Malpensa Airport, Italy. These routes are operated by 16 airlines. Fly non-stop with easyJet or Ryanair, or choose from 11 different stopover flights. The shortest flight time is 2 hours and 25 minutes. See the full flight schedule and time table, including departure times, airlines and stopover details to find the best option for you.

From
To
Portugal OPO Porto Airport Porto, Portugal
Italy MXP Milan Malpensa Airport, Italy
OPO
Porto Airport
PortugalPorto, Portugal
Milan Malpensa Airport
ItalyMilan, Italy
MXP

Non-stop route options:

Duration

easyJet
Non-stop with easyJet. 1-2 flights per day.

SHOW SCHEDULE
2h 25m

easyJet
Non-stop with easyJet.
2h 25m
1-2 flights per day.
SHOW SCHEDULE
Ryanair
Non-stop with Ryanair. 0-1 flights per day.

SHOW SCHEDULE
2h 25m

Ryanair
Non-stop with Ryanair.
2h 25m
0-1 flights per day.
SHOW SCHEDULE
CHECK PRICE FOR NON-STOP FLIGHTS
Ad

1 stop route options with the same airline:

Duration

Via Madrid MAD
1 stop with Air Europa. 0-1 flights per day.

SHOW SCHEDULE
4h 40m

Via Madrid MAD
1 stop with Air Europa.
4h 40m
0-1 flights per day.
SHOW SCHEDULE
Via Madrid MAD
1 stop with Iberia. 1-2 flights per day.

SHOW SCHEDULE
4h 50m

Via Madrid MAD
1 stop with Iberia.
4h 50m
1-2 flights per day.
IBERIA.COM
SHOW SCHEDULE
Via Dusseldorf DUS
1 stop with Eurowings. 0-1 flights per day.
Tue,Wed & Fri

SHOW SCHEDULE
5h 05m

Tue,Wed & Fri
Via Dusseldorf DUS
1 stop with Eurowings.
5h 05m
0-1 flights per day.
Tue,Wed & Fri
SHOW SCHEDULE
Via Barcelona BCN
1 stop with Vueling. 0-2 flights per day.

SHOW SCHEDULE
5h 10m

Via Barcelona BCN
1 stop with Vueling.
5h 10m
0-2 flights per day.
VUELING.COM
SHOW SCHEDULE
Via Zurich ZRH
1 stop with SWISS. 1-2 flights per day.

SHOW SCHEDULE
5h 25m

Via Zurich ZRH
1 stop with SWISS.
5h 25m
1-2 flights per day.
SWISS.COM
SHOW SCHEDULE
Via Paris CDG
1 stop with Air France.

SHOW SCHEDULE
5h 40m

Via Paris CDG
1 stop with Air France.
5h 40m
SHOW SCHEDULE
Via Frankfurt FRA
1 stop with Lufthansa. 0-1 flights per day.

SHOW SCHEDULE
5h 40m

Via Frankfurt FRA
1 stop with Lufthansa.
5h 40m
0-1 flights per day.
SHOW SCHEDULE
Via Lisbon LIS
1 stop with TAP Portugal. 3-5 flights per day.

SHOW SCHEDULE
5h 50m

Via Lisbon LIS
1 stop with TAP Portugal.
5h 50m
3-5 flights per day.
SHOW SCHEDULE
Via Luxembourg LUX
1 stop with Luxair. 0-1 flights per day.

SHOW SCHEDULE
6h 10m

Via Luxembourg LUX
1 stop with Luxair.
6h 10m
0-1 flights per day.
SHOW SCHEDULE
Via Stuttgart STR
1 stop with Eurowings.
Begins in 9/11

SHOW SCHEDULE
6h 50m

Begins in 9/11
Via Stuttgart STR
1 stop with Eurowings.
6h 50m
Begins in 9/11
SHOW SCHEDULE
SELECT DATE & CHECK PRICE
Ad

1 stop route options with codeshare or different airlines:

Duration

Via Madrid MAD With Iberia & Vueling 1-2 flights per day.
CODESHARE

SHOW SCHEDULE
4h 50m

Via Madrid MAD
4h 50m
With Iberia & Vueling 1-2 flights per day.
CODESHARE
SHOW SCHEDULE
Via Lisbon LIS 1 stop with Azores Airlines. 0-1 flights per day.
Only sundays
CODESHARE

SHOW SCHEDULE
4h 55m

Only sundays
Via Lisbon LIS
4h 55m
1 stop with Azores Airlines. 0-1 flights per day.
Only sundays
CODESHARE
SHOW SCHEDULE
Via Barcelona BCN 1 stop with Iberia. 0-2 flights per day.
CODESHARE

SHOW SCHEDULE
5h 10m

Via Barcelona BCN
5h 10m
1 stop with Iberia. 0-2 flights per day.
CODESHARE
SHOW SCHEDULE
Via Zurich ZRH 1 stop with SWISS. 0-1 flights per day.
CODESHARE

SHOW SCHEDULE
5h 25m

Via Zurich ZRH
5h 25m
1 stop with SWISS. 0-1 flights per day.
CODESHARE
SHOW SCHEDULE
Via Paris CDG With Gol & Air France
CODESHARE

SHOW SCHEDULE
5h 40m

Via Paris CDG
5h 40m
With Gol & Air France
CODESHARE
SHOW SCHEDULE
Via Frankfurt FRA With TAP Portugal & Lufthansa 2-3 flights per day.
CODESHARE

SHOW SCHEDULE
5h 40m

Via Frankfurt FRA
5h 40m
With TAP Portugal & Lufthansa 2-3 flights per day.
CODESHARE
SHOW SCHEDULE
Via Luxembourg LUX With Luxair & ITA Airways 0-2 flights per day.
CODESHARE

SHOW SCHEDULE
6h 10m

Via Luxembourg LUX
6h 10m
With Luxair & ITA Airways 0-2 flights per day.
CODESHARE
SHOW SCHEDULE
Via Stuttgart STR With Eurowings & ITA Airways
Begins in 9/11
CODESHARE

SHOW SCHEDULE
6h 50m

Begins in 9/11
Via Stuttgart STR
6h 50m
With Eurowings & ITA Airways
Begins in 9/11
CODESHARE
SHOW SCHEDULE
Via Munich MUC With TAP Portugal & Lufthansa 0-1 flights per day.
CODESHARE

SHOW SCHEDULE
6h 50m

Via Munich MUC
6h 50m
With TAP Portugal & Lufthansa 0-1 flights per day.
CODESHARE
SHOW SCHEDULE
Via London LGW With TAP Portugal & British Airways 0-1 flights per day.

SHOW SCHEDULE
8h 15m

Via London LGW
8h 15m
With TAP Portugal & British Airways 0-1 flights per day.
SHOW SCHEDULE
SELECT DATE & CHECK PRICE
Find the best prices on hotels and car rental near Milan Malpensa Airport

We got great deals on hotels and car rentals near the airport.

Milan Airport HOTEL PRICES
Milan Airport CAR-RENTAL
Ad

Porto to Milan flights

There are over 13 airlines and as many as 217 flights every week to this destination. You can fly non-stop to Milan (MXP) from Porto (OPO) with Ryanair or easyJet but if a stopover option suits you better you can choose to fly via Madrid, Lisbon or any other of the 11 alternatives with connectiing airports.

Porto to Milan with Ryanair

You can fly non-stop every weekday except Mondays with departure times from 6:00 am to 9:00 pm.

With Air Europa

If you fly from Porto with Air Europa you will do a stopover in Madrid, MAD before reaching Milan. This flight trip will take 4 hours and 40 minutes and you can fly every weekday with departures at 11:35. Air Europa is a member of SkyTeam.

Distance & flight times: Porto Airport to Milan Airport

The shortest flight time between OPO and MXP is 2 hours and 25 minutes.

ViaTotal flight timeLayover timeDistance
Direct2h 25m-927 miles (1492 km)
MAD Madrid4h 50m1h 20m992 miles (1596 km)
LIS Lisbon4h 55m1h 20m1203 miles (1936 km)
DUS Dusseldorf5h 5m50m1416 miles (2278 km)
BCN Barcelona5h 10m50m1011 miles (1627 km)
ZRH Zurich5h 25m1h 55m1083 miles (1743 km)
CDG Paris5h 40m2h 0m1142 miles (1837 km)
FRA Frankfurt5h 40m1h 35m1339 miles (2154 km)
LUX Luxembourg6h 10m2h 35m1228 miles (1976 km)
MUC Munich6h 50m2h 40m1356 miles (2182 km)
STR Stuttgart6h 50m3h 0m1230 miles (1979 km)
LGW London8h 15m--
The flight times and layover times in the table above are approximate and may vary depending on flight number, aircraft, airline, weather, and time of day.OPO-MXP flight routesPorto to Milan flight routes illustrated on a map.
Ad
Porto - Milan route map and flight paths
CHECK PRICES FOR OPO - MXP
Quick copy and share this page
URL copied to clipboard!
Ad
Show all destinations from OPO Show all destinations from MXP

From Porto to Italy

Below is a list of other destinations to Italy from Porto Airport with either direct flights or 1 stop connections.


From Portugal to Milan

Below is a list of other cities in Portugal with flights to Milan with either non-stop or connecting flights.

You can fly non-stop from Porto (OPO) to Milan (MXP) with Ryanair or easyJet. The flight takes approximately 2 hours and 25 minutes. If you travel with a connecting flight instead, for example via Madrid, the total flight time will be 4 hours and 50 minutes.

If you're interested in direct flights, Ryanair or easyJet is available. For flights with stopovers, Iberia, Azores Airlines, Eurowings, SWISS, Air France, Lufthansa, Luxair, ITA Airways, TAP Portugal or British Airways is also an option.

The flight time between Porto Airport (OPO) and Milan Malpensa Airport (MXP) is approximately 2 hours and 25 minutes. The distance between the two airports is 1203 miles (or 1936 kilometers).

Yes, you can fly non-stop to MXP from OPO with Ryanair or easyJet.

A codeshare agreement means that cooperating airlines are able to sell seats on each other’s flights. This means that you are able to travel to more destinations than your airline of choice normally offers. Codeshare flights are also beneficial because of the seamless transits you can get with connecting flights from the same airline. The downside of choosing a codeshare flight can be that you in some cases can’t upgrade codeshare flights or use elite benefits.

A connecting or transit flight means that you reach your final destination through two or more flights – in other words a non-direct flight. You will change to a new aircraft after your first flight, this may include moving to another terminal at the airport aswell. The time required to transfer passengers and luggage between flights is called Minimum Connecting Time (MCT) and are always taken into account here on Flightroutes.com.

If you bought your whole flight on a single ticket, the airline will book you on the next available connecting flight.

With connecting flights, checked in luggage is most commonly forwarded to your final destination when buying a single ticket for both flights.

If you miss your connecting flight due to circumstances outside your control such as your first flight being delayed, you should turn to your airline who will provide you with a seat on the next available flight. This is usually done free of charge, and only applies if you purchased your trip as one ticket. If the next connecting flight is the following day, the airline usually provides accommodation and meals.
Ad
Search price