Fare Guide
Estimated lowest fares found within 7 days
The cheapest airline(s) flying from Porto to Milan is EasyJet.
Travel Period: February 2025 - January 2026
The cheapest month(s) to fly from Porto to Milan is February.
-
Feb 2025
-
Mar 2025
-
Apr 2025
-
May 2025
-
Jun 2025
-
Jul 2025
-
Aug 2025
-
Sep 2025
-
Oct 2025
-
Nov 2025
-
Dec 2025
-
Jan 2026
The cheapest day(s) of the week to fly from Porto to Milan is Thursday.
-
Sun Sunday
-
Mon Monday
-
Tue Tuesday
-
Wed Wednesday
-
Thu Thursday
-
Fri Friday
-
Sat Saturday
Flight Schedules
Last Updated: Thu, 2 Jan, 2025
-
Time
Earliest
- Earliest
- Latest
-
Depart
Earliest
- Earliest
- Latest
-
Arrive
- Earliest
- Latest
-
Duration
- Shortest
- Longest
-
Stopover
All
-
Airline
Filter by Airline
View All Airline
-
Availability
- M
- T
- W
- T
- F
- S
- S
-
06:15 OPO09:40 MXP2Hrs, 25m Direct
-
OPOPorto Airport 06:15 - MXP 09:40 2h 25m Direct
-
OPOPorto Airport 06:15
-
MXPMilan Malpensa Airport 09:40
- 2h 25m
- Direct
-
Ryanair (FR 4017)Boeing 737 Max 8 Passenger -
Ryanair (FR 4017) -
- M
- -
- -
- -
- -
- -
- -
- Boeing 737 Max 8 Passenger
-
06:25 OPO09:50 MXP2Hrs, 25m Direct
-
OPOPorto Airport 06:25 - MXP 09:50 2h 25m Direct
-
OPOPorto Airport 06:25
-
MXPMilan Malpensa Airport 09:50
- 2h 25m
- Direct
-
Ryanair (FR 4017)Boeing 737 800 -
Ryanair (FR 4017) -
- -
- T
- -
- -
- -
- -
- -
- Boeing 737 800
-
06:30 OPO10:00 BGY2Hrs, 30m Direct
-
OPOPorto Airport 06:30 - BGY 10:00 2h 30m Direct
-
OPOPorto Airport 06:30
-
BGYMilan Bergamo/Orio al Serio Airport 10:00
- 2h 30m
- Direct
-
Ryanair (FR 4041)Boeing 737 Max 8 Passenger -
Ryanair (FR 4041) -
- -
- -
- -
- -
- -
- S
- -
- Boeing 737 Max 8 Passenger
-
07:45 OPO11:15 BGY2Hrs, 30m Direct
-
OPOPorto Airport 07:45 - BGY 11:15 2h 30m Direct
-
OPOPorto Airport 07:45
-
BGYMilan Bergamo/Orio al Serio Airport 11:15
- 2h 30m
- Direct
-
Ryanair (FR 4041)Boeing 737 800 -
Ryanair (FR 4041) -
- -
- -
- -
- -
- F
- -
- -
- Boeing 737 800
-
09:30 OPO13:10 MXP2Hrs, 40m Direct
-
OPOPorto Airport 09:30 - MXP 13:10 2h 40m Direct
-
OPOPorto Airport 09:30
-
MXPMilan Malpensa Airport 13:10
- 2h 40m
- Direct
-
EasyJet (U2 3882)Airbus -
EasyJet (U2 3882) -
- -
- -
- -
- -
- -
- -
- S
- Airbus
-
10:25 OPO13:55 BGY2Hrs, 30m Direct
-
OPOPorto Airport 10:25 - BGY 13:55 2h 30m Direct
-
OPOPorto Airport 10:25
-
BGYMilan Bergamo/Orio al Serio Airport 13:55
- 2h 30m
- Direct
-
Ryanair (FR 4041)Boeing 737 Max 8 Passenger -
Ryanair (FR 4041) -
- -
- -
- -
- -
- -
- -
- S
- Boeing 737 Max 8 Passenger
-
12:35 OPO16:00 MXP2Hrs, 25m Direct
-
OPOPorto Airport 12:35 - MXP 16:00 2h 25m Direct
-
OPOPorto Airport 12:35
-
MXPMilan Malpensa Airport 16:00
- 2h 25m
- Direct
-
Ryanair (FR 4017)Boeing 737 Max 8 Passenger -
Ryanair (FR 4017) -
- -
- -
- -
- -
- F
- -
- -
- Boeing 737 Max 8 Passenger
-
12:45 OPO16:25 MXP2Hrs, 40m Direct
-
OPOPorto Airport 12:45 - MXP 16:25 2h 40m Direct
-
OPOPorto Airport 12:45
-
MXPMilan Malpensa Airport 16:25
- 2h 40m
- Direct
-
EasyJet (U2 3882)Airbus -
EasyJet (U2 3882) -
- M
- -
- -
- -
- -
- -
- -
- Airbus
-
12:45 OPO16:15 BGY2Hrs, 30m Direct
-
OPOPorto Airport 12:45 - BGY 16:15 2h 30m Direct
-
OPOPorto Airport 12:45
-
BGYMilan Bergamo/Orio al Serio Airport 16:15
- 2h 30m
- Direct
-
Ryanair (FR 4041)Boeing 737 800 -
Ryanair (FR 4041) -
- -
- -
- -
- T
- -
- -
- -
- Boeing 737 800
-
14:35 OPO18:05 BGY2Hrs, 30m Direct
-
OPOPorto Airport 14:35 - BGY 18:05 2h 30m Direct
-
OPOPorto Airport 14:35
-
BGYMilan Bergamo/Orio al Serio Airport 18:05
- 2h 30m
- Direct
-
Ryanair (FR 4041)Boeing 737 800 -
Ryanair (FR 4041) -
- -
- T
- -
- -
- -
- -
- -
- Boeing 737 800
-
15:05 OPO18:35 BGY2Hrs, 30m Direct
-
OPOPorto Airport 15:05 - BGY 18:35 2h 30m Direct
-
OPOPorto Airport 15:05
-
BGYMilan Bergamo/Orio al Serio Airport 18:35
- 2h 30m
- Direct
-
Ryanair (FR 4041)Boeing 737 Max 8 Passenger -
Ryanair (FR 4041) -
- M
- -
- -
- -
- -
- -
- -
- Boeing 737 Max 8 Passenger
-
15:45 OPO19:05 MXP2Hrs, 20m Direct
-
OPOPorto Airport 15:45 - MXP 19:05 2h 20m Direct
-
OPOPorto Airport 15:45
-
MXPMilan Malpensa Airport 19:05
- 2h 20m
- Direct
-
Ryanair (FR 4017)Boeing 737 800 -
Ryanair (FR 4017) -
- -
- -
- -
- T
- -
- -
- -
- Boeing 737 800
-
19:05 OPO22:35 BGY2Hrs, 30m Direct
-
OPOPorto Airport 19:05 - BGY 22:35 2h 30m Direct
-
OPOPorto Airport 19:05
-
BGYMilan Bergamo/Orio al Serio Airport 22:35
- 2h 30m
- Direct
-
Ryanair (FR 4637)Boeing 737 800 -
Ryanair (FR 4637) -
- -
- -
- -
- -
- -
- -
- S
- Boeing 737 800
-
06:00 OPO13:30 LIN6Hrs, 30m 1 Stop (AMS)
-
OPOPorto Airport 06:00 - LIN 13:30 6h 30m 1 Stop (AMS) Amsterdam
-
OPOPorto Airport 06:00AMSAmsterdam Airport 11:50
-
AMSAmsterdam Airport 09:35LINMilan Linate Airport 13:30
- 6h 30m (2h 15m)
- 1 Stop AMS · Amsterdam 2h 15m
-
KLM (KL 1570)Embraer 195 E2 KLM (KL 1615)Boeing 737 700 -
KLM (KL 1570) -
- -
- -
- -
- -
- -
- S
- -
-
06:00 OPO12:55 LIN5Hrs, 55m 1 Stop (FRA)
-
OPOPorto Airport 06:00 - LIN 12:55 5h 55m 1 Stop (FRA) Frankfurt
-
OPOPorto Airport 06:00FRAFrankfurt International Airport 11:40
-
FRAFrankfurt International Airport 09:50LINMilan Linate Airport 12:55
- 5h 55m (1h 50m)
- 1 Stop FRA · Frankfurt 1h 50m
-
Lufthansa (LH 1181)Airbus Air Dolomiti (EN 8804)Embraer Emb E90 -
Lufthansa (LH 1181) -
- -
- -
- -
- -
- F
- -
- -
-
06:00 OPO12:45 MXP5Hrs, 45m 1 Stop (MAD)
-
OPOPorto Airport 06:00 - MXP 12:45 5h 45m 1 Stop (MAD) Madrid
-
OPOPorto Airport 06:00MADMadrid Barajas Airport 10:35
-
MADMadrid Barajas Airport 08:15MXPMilan Malpensa Airport 12:45
- 5h 45m (2h 20m)
- 1 Stop MAD · Madrid 2h 20m
-
Ryanair (FR 573)Boeing 737 800 Ryanair (FR 2753)Boeing 737 800 -
Ryanair (FR 573) -
- -
- -
- -
- -
- -
- -
- S
-
06:00 OPO13:30 LIN6Hrs, 30m 1 Stop (AMS)
-
OPOPorto Airport 06:00 - LIN 13:30 6h 30m 1 Stop (AMS) Amsterdam
-
OPOPorto Airport 06:00AMSAmsterdam Airport 11:50
-
AMSAmsterdam Airport 09:35LINMilan Linate Airport 13:30
- 6h 30m (2h 15m)
- 1 Stop AMS · Amsterdam 2h 15m
-
KLM (KL 1570)Embraer 195 E2 KLM (KL 1615)Embraer 175 -
KLM (KL 1570) -
- -
- T
- W
- -
- -
- -
- -
-
06:00 OPO13:55 MXP6Hrs, 55m 1 Stop (FRA)
-
OPOPorto Airport 06:00 - MXP 13:55 6h 55m 1 Stop (FRA) Frankfurt
-
OPOPorto Airport 06:00FRAFrankfurt International Airport 12:40
-
FRAFrankfurt International Airport 09:50MXPMilan Malpensa Airport 13:55
- 6h 55m (2h 50m)
- 1 Stop FRA · Frankfurt 2h 50m
-
Lufthansa (LH 1181)Airbus Air Dolomiti (EN 8810)Embraer Emb E90 -
Lufthansa (LH 1181) -
- M
- -
- -
- -
- F
- -
- -
-
06:05 OPO12:35 MXP5Hrs, 30m 1 Stop (MUC)
-
OPOPorto Airport 06:05 - MXP 12:35 5h 30m 1 Stop (MUC) Munich
-
OPOPorto Airport 06:05MUCMunich International Airport 11:30
-
MUCMunich International Airport 09:55MXPMilan Malpensa Airport 12:35
- 5h 30m (1h 35m)
- 1 Stop MUC · Munich 1h 35m
-
Lufthansa (LH 1785)Airbus Air Dolomiti (EN 8274)Embraer 195 -
Lufthansa (LH 1785) -
- -
- -
- -
- -
- -
- -
- S
-
06:15 OPO13:30 LIN6Hrs, 15m 1 Stop (AMS)
-
OPOPorto Airport 06:15 - LIN 13:30 6h 15m 1 Stop (AMS) Amsterdam
-
OPOPorto Airport 06:15AMSAmsterdam Airport 11:50
-
AMSAmsterdam Airport 09:50LINMilan Linate Airport 13:30
- 6h 15m (2h)
- 1 Stop AMS · Amsterdam 2h
-
KLM (KL 1570)Embraer 195 E2 KLM (KL 1615)Embraer 175 -
KLM (KL 1570) -
- -
- -
- -
- T
- F
- -
- -
-
06:20 OPO12:25 MXP5Hrs, 05m 1 Stop (STN)
-
OPOPorto Airport 06:20 - MXP 12:25 5h 05m 1 Stop (STN) London
-
OPOPorto Airport 06:20STNLondon Stansted Airport 09:35
-
STNLondon Stansted Airport 08:35MXPMilan Malpensa Airport 12:25
- 5h 05m (1h)
- 1 Stop STN · London 1h
-
Ryanair (FR 1262)Boeing 737 Max 8 Passenger Ryanair (FR 8719)Boeing 737 800 -
Ryanair (FR 1262) -
- -
- -
- -
- -
- F
- -
- -
-
06:20 OPO14:20 MXP7Hrs, 00m 1 Stop (STN)
-
OPOPorto Airport 06:20 - MXP 14:20 7h 1 Stop (STN) London
-
OPOPorto Airport 06:20STNLondon Stansted Airport 11:30
-
STNLondon Stansted Airport 08:35MXPMilan Malpensa Airport 14:20
- 7h (2h 55m)
- 1 Stop STN · London 2h 55m
-
Ryanair (FR 1262)Boeing 737 Max 8 Passenger Ryanair (FR 2757)Boeing 737 800 -
Ryanair (FR 1262) -
- -
- -
- -
- -
- F
- -
- -
-
06:20 OPO14:10 BGY6Hrs, 50m 1 Stop (TLS)
-
OPOPorto Airport 06:20 - BGY 14:10 6h 50m 1 Stop (TLS) Toulouse
-
OPOPorto Airport 06:20TLSToulouse Blagnac Airport 12:40
-
TLSToulouse Blagnac Airport 09:00BGYMilan Bergamo/Orio al Serio Airport 14:10
- 6h 50m (3h 40m)
- 1 Stop TLS · Toulouse 3h 40m
-
Ryanair (FR 1989)Boeing 737 Max 8 Passenger Ryanair (FR 5981)Boeing 737 800 -
Ryanair (FR 1989) -
- -
- -
- -
- -
- -
- S
- -
-
06:20 OPO13:30 LIN6Hrs, 10m 1 Stop (AMS)
-
OPOPorto Airport 06:20 - LIN 13:30 6h 10m 1 Stop (AMS) Amsterdam
-
OPOPorto Airport 06:20AMSAmsterdam Airport 11:50
-
AMSAmsterdam Airport 09:55LINMilan Linate Airport 13:30
- 6h 10m (1h 55m)
- 1 Stop AMS · Amsterdam 1h 55m
-
KLM (KL 1570)Embraer 195 E2 KLM (KL 1615)Embraer 175 -
KLM (KL 1570) -
- M
- -
- -
- -
- -
- -
- -
-
06:30 OPO14:35 MXP7Hrs, 05m 1 Stop (BVA)
-
OPOPorto Airport 06:30 - MXP 14:35 7h 05m 1 Stop (BVA) Paris
-
OPOPorto Airport 06:30BVAParis Beauvais-Tille Airport 13:05
-
BVAParis Beauvais-Tille Airport 09:40MXPMilan Malpensa Airport 14:35
- 7h 05m (3h 25m)
- 1 Stop BVA · Paris 3h 25m
-
Ryanair (FR 594)Boeing 737 800 Ryanair (FR 8883)Boeing 737 Max 8 Passenger -
Ryanair (FR 594) -
- -
- -
- -
- -
- -
- -
- S
-
06:30 OPO14:35 BGY7Hrs, 05m 1 Stop (BVA)
-
OPOPorto Airport 06:30 - BGY 14:35 7h 05m 1 Stop (BVA) Paris
-
OPOPorto Airport 06:30BVAParis Beauvais-Tille Airport 13:05
-
BVAParis Beauvais-Tille Airport 09:40BGYMilan Bergamo/Orio al Serio Airport 14:35
- 7h 05m (3h 25m)
- 1 Stop BVA · Paris 3h 25m
-
Ryanair (FR 594)Boeing 737 Max 8 Passenger Ryanair (FR 3433)Boeing 737 800 -
Ryanair (FR 594) -
- -
- T
- -
- -
- -
- -
- -
-
06:30 OPO12:35 MXP5Hrs, 05m 1 Stop (MUC)
-
OPOPorto Airport 06:30 - MXP 12:35 5h 05m 1 Stop (MUC) Munich
-
OPOPorto Airport 06:30MUCMunich International Airport 11:30
-
MUCMunich International Airport 10:20MXPMilan Malpensa Airport 12:35
- 5h 05m (1h 10m)
- 1 Stop MUC · Munich 1h 10m
-
Lufthansa (LH 1785)Airbus Air Dolomiti (EN 8274)Embraer 195 -
Lufthansa (LH 1785) -
- -
- -
- -
- -
- F
- -
- -
-
06:55 OPO13:05 BGY5Hrs, 10m 1 Stop (VLC)
-
OPOPorto Airport 06:55 - BGY 13:05 5h 10m 1 Stop (VLC) Valencia
-
OPOPorto Airport 06:55VLCValencia Airport 11:10
-
VLCValencia Airport 09:15BGYMilan Bergamo/Orio al Serio Airport 13:05
- 5h 10m (1h 55m)
- 1 Stop VLC · Valencia 1h 55m
-
Ryanair (FR 1710)Boeing 737 800 Ryanair (FR 496)Boeing 737 800 -
Ryanair (FR 1710) -
- -
- -
- -
- -
- -
- S
- -
-
07:30 OPO15:10 BGY6Hrs, 40m 1 Stop (BVA)
-
OPOPorto Airport 07:30 - BGY 15:10 6h 40m 1 Stop (BVA) Paris
-
OPOPorto Airport 07:30BVAParis Beauvais-Tille Airport 13:40
-
BVAParis Beauvais-Tille Airport 10:40BGYMilan Bergamo/Orio al Serio Airport 15:10
- 6h 40m (3h)
- 1 Stop BVA · Paris 3h
-
Ryanair (FR 7474)Boeing 737 800 Ryanair (FR 3433)Boeing 737 Max 8 Passenger -
Ryanair (FR 7474) -
- M
- -
- -
- -
- -
- -
- -
-
07:30 OPO15:15 MXP6Hrs, 45m 1 Stop (VLC)
-
OPOPorto Airport 07:30 - MXP 15:15 6h 45m 1 Stop (VLC) Valencia
-
OPOPorto Airport 07:30VLCValencia Airport 13:15
-
VLCValencia Airport 09:50MXPMilan Malpensa Airport 15:15
- 6h 45m (3h 25m)
- 1 Stop VLC · Valencia 3h 25m
-
Ryanair (FR 1710)Boeing 737 800 Ryanair (FR 1445)Boeing 737 800 -
Ryanair (FR 1710) -
- -
- T
- -
- -
- -
- -
- -
-
08:20 OPO14:35 MXP5Hrs, 15m 1 Stop (BVA)
-
OPOPorto Airport 08:20 - MXP 14:35 5h 15m 1 Stop (BVA) Paris
-
OPOPorto Airport 08:20BVAParis Beauvais-Tille Airport 13:05
-
BVAParis Beauvais-Tille Airport 11:30MXPMilan Malpensa Airport 14:35
- 5h 15m (1h 35m)
- 1 Stop BVA · Paris 1h 35m
-
Ryanair (FR 7474)Boeing 737 Max 8 Passenger Ryanair (FR 8883)Boeing 737 Max 8 Passenger -
Ryanair (FR 7474) -
- -
- -
- -
- -
- -
- -
- S
-
08:30 OPO15:10 MXP5Hrs, 40m 1 Stop (BCN)
-
OPOPorto Airport 08:30 - MXP 15:10 5h 40m 1 Stop (BCN) Barcelona
-
OPOPorto Airport 08:30BCNBarcelona Airport 13:25
-
BCNBarcelona Airport 11:15MXPMilan Malpensa Airport 15:10
- 5h 40m (2h 10m)
- 1 Stop BCN · Barcelona 2h 10m
-
Ryanair (FR 4546)Boeing 737 Max 8 Passenger Ryanair (FR 7541)Boeing 737 800 -
Ryanair (FR 4546) -
- -
- -
- -
- -
- -
- S
- -
-
08:35 OPO16:30 MXP6Hrs, 55m 1 Stop (BCN)
-
OPOPorto Airport 08:35 - MXP 16:30 6h 55m 1 Stop (BCN) Barcelona
-
OPOPorto Airport 08:35BCNBarcelona Airport 14:50
-
BCNBarcelona Airport 11:20MXPMilan Malpensa Airport 16:30
- 6h 55m (3h 30m)
- 1 Stop BCN · Barcelona 3h 30m
-
Vueling Airlines (VY 8475)Airbus Industrie A320 Sharklets Vueling Airlines (VY 6332)Airbus Industrie A320 Sharklets -
Vueling Airlines (VY 8475) -
- -
- -
- W
- -
- -
- -
- -
-
08:45 OPO16:35 BGY6Hrs, 50m 1 Stop (STN)
-
OPOPorto Airport 08:45 - BGY 16:35 6h 50m 1 Stop (STN) London
-
OPOPorto Airport 08:45STNLondon Stansted Airport 13:45
-
STNLondon Stansted Airport 11:10BGYMilan Bergamo/Orio al Serio Airport 16:35
- 6h 50m (2h 35m)
- 1 Stop STN · London 2h 35m
-
Ryanair (FR 1262)Boeing 737 800 Ryanair (FR 2738)Boeing 737 800 -
Ryanair (FR 1262) -
- M
- -
- -
- -
- -
- -
- -
-
08:45 OPO15:10 MXP5Hrs, 25m 1 Stop (STN)
-
OPOPorto Airport 08:45 - MXP 15:10 5h 25m 1 Stop (STN) London
-
OPOPorto Airport 08:45STNLondon Stansted Airport 12:20
-
STNLondon Stansted Airport 11:10MXPMilan Malpensa Airport 15:10
- 5h 25m (1h 10m)
- 1 Stop STN · London 1h 10m
-
Ryanair (FR 1262)Boeing 737 800 Ryanair (FR 8721)Boeing 737 800 -
Ryanair (FR 1262) -
- -
- -
- -
- -
- -
- -
- S
-
09:05 OPO16:15 BGY6Hrs, 10m 1 Stop (CRL)
-
OPOPorto Airport 09:05 - BGY 16:15 6h 10m 1 Stop (CRL) Brussels
-
OPOPorto Airport 09:05CRLBrussels S. Charleroi Airport 14:45
-
CRLBrussels S. Charleroi Airport 12:30BGYMilan Bergamo/Orio al Serio Airport 16:15
- 6h 10m (2h 15m)
- 1 Stop CRL · Brussels 2h 15m
-
Ryanair (FR 1387)Boeing 737 Max 8 Passenger Ryanair (FR 4474)Boeing 737 800 -
Ryanair (FR 1387) -
- M
- -
- -
- -
- -
- -
- -
-
09:20 OPO17:10 BGY6Hrs, 50m 1 Stop (STN)
-
OPOPorto Airport 09:20 - BGY 17:10 6h 50m 1 Stop (STN) London
-
OPOPorto Airport 09:20STNLondon Stansted Airport 14:20
-
STNLondon Stansted Airport 11:45BGYMilan Bergamo/Orio al Serio Airport 17:10
- 6h 50m (2h 35m)
- 1 Stop STN · London 2h 35m
-
Ryanair (FR 7701)Boeing 737 800 Ryanair (FR 2738)Boeing 737 800 -
Ryanair (FR 7701) -
- -
- -
- -
- -
- -
- S
- -
-
09:30 OPO15:30 MXP5Hrs, 00m 1 Stop (VLC)
-
OPOPorto Airport 09:30 - MXP 15:30 5h 1 Stop (VLC) Valencia
-
OPOPorto Airport 09:30VLCValencia Airport 13:30
-
VLCValencia Airport 11:55MXPMilan Malpensa Airport 15:30
- 5h (1h 35m)
- 1 Stop VLC · Valencia 1h 35m
-
Ryanair (FR 1710)Boeing 737 800 Ryanair (FR 7471)Boeing 737 800 -
Ryanair (FR 1710) -
- M
- -
- -
- -
- -
- -
- -
-
09:30 OPO16:55 BGY6Hrs, 25m 1 Stop (VLC)
-
OPOPorto Airport 09:30 - BGY 16:55 6h 25m 1 Stop (VLC) Valencia
-
OPOPorto Airport 09:30VLCValencia Airport 15:00
-
VLCValencia Airport 11:55BGYMilan Bergamo/Orio al Serio Airport 16:55
- 6h 25m (3h 05m)
- 1 Stop VLC · Valencia 3h 05m
-
Ryanair (FR 1710)Boeing 737 800 Ryanair (FR 496)Boeing 737 800 -
Ryanair (FR 1710) -
- M
- -
- -
- -
- -
- -
- -
-
09:40 OPO15:50 MXP5Hrs, 10m 1 Stop (BCN)
-
OPOPorto Airport 09:40 - MXP 15:50 5h 10m 1 Stop (BCN) Barcelona
-
OPOPorto Airport 09:40BCNBarcelona Airport 14:05
-
BCNBarcelona Airport 12:25MXPMilan Malpensa Airport 15:50
- 5h 10m (1h 40m)
- 1 Stop BCN · Barcelona 1h 40m
-
Ryanair (FR 4546)Boeing 737 800 Ryanair (FR 269)Boeing 737 800 -
Ryanair (FR 4546) -
- M
- -
- -
- -
- -
- -
- -
-
09:50 OPO17:00 BGY6Hrs, 10m 1 Stop (STN)
-
OPOPorto Airport 09:50 - BGY 17:00 6h 10m 1 Stop (STN) London
-
OPOPorto Airport 09:50STNLondon Stansted Airport 14:10
-
STNLondon Stansted Airport 12:15BGYMilan Bergamo/Orio al Serio Airport 17:00
- 6h 10m (1h 55m)
- 1 Stop STN · London 1h 55m
-
Ryanair (FR 1276)Boeing 737 800 Ryanair (FR 2738)Boeing 737 800 -
Ryanair (FR 1276) -
- -
- -
- -
- -
- F
- -
- -
-
09:55 OPO16:55 MXP6Hrs, 00m 1 Stop (LIS)
-
OPOPorto Airport 09:55 - MXP 16:55 6h 1 Stop (LIS) Lisbon
-
OPOPorto Airport 09:55LISLisbon Airport 13:10
-
LISLisbon Airport 10:55MXPMilan Malpensa Airport 16:55
- 6h (2h 15m)
- 1 Stop LIS · Lisbon 2h 15m
-
TAP Air Portugal (TP 1923)Airbus TAP Air Portugal (TP 826)Airbus -
TAP Air Portugal (TP 1923) -
- -
- -
- -
- -
- -
- -
- S
-
10:05 OPO16:55 MXP5Hrs, 50m 1 Stop (LIS)
-
OPOPorto Airport 10:05 - MXP 16:55 5h 50m 1 Stop (LIS) Lisbon
-
OPOPorto Airport 10:05LISLisbon Airport 13:10
-
LISLisbon Airport 11:05MXPMilan Malpensa Airport 16:55
- 5h 50m (2h 05m)
- 1 Stop LIS · Lisbon 2h 05m
-
TAP Air Portugal (TP 1923)Airbus TAP Air Portugal (TP 826)Airbus -
TAP Air Portugal (TP 1923) -
- -
- T
- -
- -
- -
- -
- -
-
10:05 OPO15:50 BGY4Hrs, 45m 1 Stop (VLC)
-
OPOPorto Airport 10:05 - BGY 15:50 4h 45m 1 Stop (VLC) Valencia
-
OPOPorto Airport 10:05VLCValencia Airport 13:55
-
VLCValencia Airport 12:30BGYMilan Bergamo/Orio al Serio Airport 15:50
- 4h 45m (1h 25m)
- 1 Stop VLC · Valencia 1h 25m
-
Ryanair (FR 1710)Boeing 737 800 Ryanair (FR 4632)Boeing 737 800 -
Ryanair (FR 1710) -
- -
- -
- -
- T
- -
- -
- -
-
10:20 OPO17:10 BGY5Hrs, 50m 1 Stop (STN)
-
OPOPorto Airport 10:20 - BGY 17:10 5h 50m 1 Stop (STN) London
-
OPOPorto Airport 10:20STNLondon Stansted Airport 14:20
-
STNLondon Stansted Airport 12:45BGYMilan Bergamo/Orio al Serio Airport 17:10
- 5h 50m (1h 35m)
- 1 Stop STN · London 1h 35m
-
Ryanair (FR 1276)Boeing 737 800 Ryanair (FR 2738)Boeing 737 800 -
Ryanair (FR 1276) -
- -
- -
- -
- -
- -
- S
- -
-
10:20 OPO16:35 BGY5Hrs, 15m 1 Stop (STN)
-
OPOPorto Airport 10:20 - BGY 16:35 5h 15m 1 Stop (STN) London
-
OPOPorto Airport 10:20STNLondon Stansted Airport 13:45
-
STNLondon Stansted Airport 12:45BGYMilan Bergamo/Orio al Serio Airport 16:35
- 5h 15m (1h)
- 1 Stop STN · London 1h
-
Ryanair (FR 1276)Boeing 737 800 Ryanair (FR 2738)Boeing 737 800 -
Ryanair (FR 1276) -
- M
- -
- -
- -
- -
- -
- -
-
10:35 OPO18:00 BGY6Hrs, 25m 1 Stop (STN)
-
OPOPorto Airport 10:35 - BGY 18:00 6h 25m 1 Stop (STN) London
-
OPOPorto Airport 10:35STNLondon Stansted Airport 15:10
-
STNLondon Stansted Airport 13:00BGYMilan Bergamo/Orio al Serio Airport 18:00
- 6h 25m (2h 10m)
- 1 Stop STN · London 2h 10m
-
Ryanair (FR 1276)Boeing 737 Max 8 Passenger Ryanair (FR 4189)Boeing 737 800 -
Ryanair (FR 1276) -
- -
- -
- -
- -
- -
- -
- S
-
10:35 OPO17:05 BGY5Hrs, 30m 1 Stop (STN)
-
OPOPorto Airport 10:35 - BGY 17:05 5h 30m 1 Stop (STN) London
-
OPOPorto Airport 10:35STNLondon Stansted Airport 14:15
-
STNLondon Stansted Airport 13:00BGYMilan Bergamo/Orio al Serio Airport 17:05
- 5h 30m (1h 15m)
- 1 Stop STN · London 1h 15m
-
Ryanair (FR 1276)Boeing 737 Max 8 Passenger Ryanair (FR 3674)Boeing 737 Max 8 Passenger -
Ryanair (FR 1276) -
- -
- -
- -
- -
- -
- -
- S
-
10:40 OPO17:00 BGY5Hrs, 20m 1 Stop (BCN)
-
OPOPorto Airport 10:40 - BGY 17:00 5h 20m 1 Stop (BCN) Barcelona
-
OPOPorto Airport 10:40BCNBarcelona Airport 15:15
-
BCNBarcelona Airport 13:25BGYMilan Bergamo/Orio al Serio Airport 17:00
- 5h 20m (1h 50m)
- 1 Stop BCN · Barcelona 1h 50m
-
Ryanair (FR 4584)Boeing 737 800 Ryanair (FR 3320)Boeing 737 Max 8 Passenger -
Ryanair (FR 4584) -
- -
- -
- -
- -
- F
- -
- -
-
11:15 OPO18:35 LIN6Hrs, 20m 1 Stop (AMS)
-
OPOPorto Airport 11:15 - LIN 18:35 6h 20m 1 Stop (AMS) Amsterdam
-
OPOPorto Airport 11:15AMSAmsterdam Airport 16:55
-
AMSAmsterdam Airport 14:55LINMilan Linate Airport 18:35
- 6h 20m (2h)
- 1 Stop AMS · Amsterdam 2h
-
KLM (KL 1572)Embraer 195 E2 KLM (KL 1617)Boeing 737 800 -
KLM (KL 1572) -
- -
- -
- -
- -
- -
- S
- -
-
11:20 OPO18:10 BGY5Hrs, 50m 1 Stop (EIN)
-
OPOPorto Airport 11:20 - BGY 18:10 5h 50m 1 Stop (EIN) Eindhoven
-
OPOPorto Airport 11:20EINEindhoven Airport 16:40
-
EINEindhoven Airport 15:00BGYMilan Bergamo/Orio al Serio Airport 18:10
- 5h 50m (1h 40m)
- 1 Stop EIN · Eindhoven 1h 40m
-
Ryanair (FR 7472)Boeing 737 Max 8 Passenger Ryanair (FR 3461)Boeing 737 Max 8 Passenger -
Ryanair (FR 7472) -
- -
- T
- -
- -
- -
- -
- -
-
11:25 OPO17:05 MXP4Hrs, 40m 1 Stop (LUX)
-
OPOPorto Airport 11:25 - MXP 17:05 4h 40m 1 Stop (LUX) Luxembourg
-
OPOPorto Airport 11:25LUXLuxembourg Airport 15:50
-
LUXLuxembourg Airport 14:45MXPMilan Malpensa Airport 17:05
- 4h 40m (1h 05m)
- 1 Stop LUX · Luxembourg 1h 05m
-
TAP Air Portugal (TP 686)Embraer 195 Luxair (LG 6995)Dehavilland Dash 8 400 -
TAP Air Portugal (TP 686) -
- M
- -
- -
- -
- -
- -
- -
-
11:45 OPO19:35 LIN6Hrs, 50m 1 Stop (CDG)
-
OPOPorto Airport 11:45 - LIN 19:35 6h 50m 1 Stop (CDG) Paris
-
OPOPorto Airport 11:45CDGParis Charles de Gaulle Airport 18:10
-
CDGParis Charles de Gaulle Airport 15:05LINMilan Linate Airport 19:35
- 6h 50m (3h 05m)
- 1 Stop CDG · Paris 3h 05m
-
Air France (AF 1529)Airbus Air France (AF 1312)Airbus -
Air France (AF 1529) -
- -
- -
- W
- -
- -
- -
- -
-
11:45 OPO17:40 MXP4Hrs, 55m 1 Stop (CDG)
-
OPOPorto Airport 11:45 - MXP 17:40 4h 55m 1 Stop (CDG) Paris
-
OPOPorto Airport 11:45CDGParis Charles de Gaulle Airport 16:15
-
CDGParis Charles de Gaulle Airport 15:05MXPMilan Malpensa Airport 17:40
- 4h 55m (1h 10m)
- 1 Stop CDG · Paris 1h 10m
-
Air France (AF 1529)Embraer Emb E90 Air France (AF 1730)Airbus -
Air France (AF 1529) -
- -
- -
- -
- T
- -
- -
- -
-
11:45 OPO17:40 MXP4Hrs, 55m 1 Stop (CDG)
-
OPOPorto Airport 11:45 - MXP 17:40 4h 55m 1 Stop (CDG) Paris
-
OPOPorto Airport 11:45CDGParis Charles de Gaulle Airport 16:15
-
CDGParis Charles de Gaulle Airport 15:05MXPMilan Malpensa Airport 17:40
- 4h 55m (1h 10m)
- 1 Stop CDG · Paris 1h 10m
-
Air France (AF 1529)Airbus Air France (AF 1730)Embraer Emb E90 -
Air France (AF 1529) -
- -
- -
- W
- -
- -
- -
- -
-
11:55 OPO18:10 MXP5Hrs, 15m 1 Stop (ZRH)
-
OPOPorto Airport 11:55 - MXP 18:10 5h 15m 1 Stop (ZRH) Zurich
-
OPOPorto Airport 11:55ZRHZurich Airport 17:15
-
ZRHZurich Airport 15:35MXPMilan Malpensa Airport 18:10
- 5h 15m (1h 40m)
- 1 Stop ZRH · Zurich 1h 40m
-
TAP Air Portugal (TP 920)Embraer 195 Swiss (LX 1622)Airbus -
TAP Air Portugal (TP 920) -
- M
- -
- -
- -
- -
- -
- -
-
11:55 OPO18:15 MXP5Hrs, 20m 1 Stop (ZRH)
-
OPOPorto Airport 11:55 - MXP 18:15 5h 20m 1 Stop (ZRH) Zurich
-
OPOPorto Airport 11:55ZRHZurich Airport 17:20
-
ZRHZurich Airport 15:20MXPMilan Malpensa Airport 18:15
- 5h 20m (2h)
- 1 Stop ZRH · Zurich 2h
-
Swiss (LX 2067)Airbus Swiss (LX 1622)Airbus A220 300 -
Swiss (LX 2067) -
- -
- -
- -
- -
- -
- S
- -
-
12:00 OPO18:20 MXP5Hrs, 20m 1 Stop (ZRH)
-
OPOPorto Airport 12:00 - MXP 18:20 5h 20m 1 Stop (ZRH) Zurich
-
OPOPorto Airport 12:00ZRHZurich Airport 17:20
-
ZRHZurich Airport 15:35MXPMilan Malpensa Airport 18:20
- 5h 20m (1h 45m)
- 1 Stop ZRH · Zurich 1h 45m
-
TAP Air Portugal (TP 920)Embraer 195 Swiss (LX 1622)Airbus A220 300 -
TAP Air Portugal (TP 920) -
- -
- -
- -
- -
- F
- -
- -
-
12:25 OPO19:40 LIN6Hrs, 15m 1 Stop (MAD)
-
OPOPorto Airport 12:25 - LIN 19:40 6h 15m 1 Stop (MAD) Madrid
-
OPOPorto Airport 12:25MADMadrid Barajas Airport 17:30
-
MADMadrid Barajas Airport 14:45LINMilan Linate Airport 19:40
- 6h 15m (2h 45m)
- 1 Stop MAD · Madrid 2h 45m
-
Iberia (IB 546)Airbus Industrie A320 Sharklets Iberia (IB 665)Airbus -
Iberia (IB 546) -
- M
- -
- -
- -
- -
- -
- -
-
12:25 OPO18:30 LIN5Hrs, 05m 1 Stop (FRA)
-
OPOPorto Airport 12:25 - LIN 18:30 5h 05m 1 Stop (FRA) Frankfurt
-
OPOPorto Airport 12:25FRAFrankfurt International Airport 17:15
-
FRAFrankfurt International Airport 16:15LINMilan Linate Airport 18:30
- 5h 05m (1h)
- 1 Stop FRA · Frankfurt 1h
-
Lufthansa (LH 1177)Airbus Air Dolomiti (EN 8802)Embraer Emb E90 -
Lufthansa (LH 1177) -
- M
- -
- -
- -
- -
- -
- -
-
12:25 OPO19:40 LIN6Hrs, 15m 1 Stop (MAD)
-
OPOPorto Airport 12:25 - LIN 19:40 6h 15m 1 Stop (MAD) Madrid
-
OPOPorto Airport 12:25MADMadrid Barajas Airport 17:30
-
MADMadrid Barajas Airport 14:45LINMilan Linate Airport 19:40
- 6h 15m (2h 45m)
- 1 Stop MAD · Madrid 2h 45m
-
Iberia (IB 1150)Canadair Regional Iberia (IB 665)Airbus -
Iberia (IB 1150) -
- -
- T
- -
- -
- -
- S
- -
-
12:30 OPO18:30 LIN5Hrs, 00m 1 Stop (FRA)
-
OPOPorto Airport 12:30 - LIN 18:30 5h 1 Stop (FRA) Frankfurt
-
OPOPorto Airport 12:30FRAFrankfurt International Airport 17:15
-
FRAFrankfurt International Airport 16:20LINMilan Linate Airport 18:30
- 5h (55m)
- 1 Stop FRA · Frankfurt 55m
-
Lufthansa (LH 1177)Airbus Air Dolomiti (EN 8802)Embraer Emb E90 -
Lufthansa (LH 1177) -
- -
- -
- -
- -
- F
- -
- S
-
12:45 OPO20:05 BGY6Hrs, 20m 1 Stop (ALC)
-
OPOPorto Airport 12:45 - BGY 20:05 6h 20m 1 Stop (ALC) Alicante
-
OPOPorto Airport 12:45ALCAlicante Airport 18:00
-
ALCAlicante Airport 15:15BGYMilan Bergamo/Orio al Serio Airport 20:05
- 6h 20m (2h 45m)
- 1 Stop ALC · Alicante 2h 45m
-
Ryanair (FR 2028)Boeing 737 Max 8 Passenger Ryanair (FR 3507)Boeing 737 Max 8 Passenger -
Ryanair (FR 2028) -
- -
- -
- -
- -
- -
- S
- -
The fastest flight time for direct flights from Porto to Milan is 2 hours 20 minutes. Check latest flight schedules & prices on Wego.
The most popular airline flying from Porto to Milan is Ryanair. Find the latest flight deals on Wego.
The flight distance between Porto and Milan is 1515km. Check all available flights on Wego.
The earliest flight of the day departs at 06:00. The last flight of the day departs at 06:00. See the full list of flight times on Wego.
There are 2 airlines that offer direct flights from Porto to Milan. Find out the list of airlines on Wego.
All Airports in Porto
Porto Airport OPO