Fare Guide

Estimated lowest fares found within 7 days

Cheapest Airline Ryanair

The cheapest airline(s) flying from Porto to Milan is Ryanair.

  • Ryanair Ryanair
  • EasyJet EasyJet
  • easyJet Europe easyJet Europe
  • Vueling Airlines Vueling Airlines
  • TAP Air Portugal TAP Air Portugal
  • Air France Air France
  • KLM KLM
  • Air Europa Air Europa
  • Air Serbia Air Serbia
  • Lufthansa Lufthansa
Cheapest Month November

Travel Period: October 2024 - September 2025

The cheapest month(s) to fly from Porto to Milan is November.

  • Oct 2024
  • Nov 2024
  • Dec 2024
  • Jan 2025
  • Feb 2025
  • Mar 2025
  • Apr 2025
  • May 2025
  • Jun 2025
  • Jul 2025
  • Aug 2025
  • Sep 2025
Cheapest Day of the Week Wednesday

The cheapest day(s) of the week to fly from Porto to Milan is Wednesday.

  • Sun Sunday
  • Mon Monday
  • Tue Tuesday
  • Wed Wednesday
  • Thu Thursday
  • Fri Friday
  • Sat Saturday

Flight Schedules

Last Updated: Mon, 2 Sep, 2024

  • 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:35 OPO
    10:00 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 06:35 - MXP 10:00 2h 25m Direct
  • OPOPorto Airport 06:35
  • MXPMilan Malpensa Airport 10:00
  • 2h 25m
  • Direct
  • Ryanair (FR 4017)Boeing 737 800
  • Ryanair (FR 4017)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • Boeing 737 800
  • 07:05 OPO
    10:35 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 07:05 - BGY 10:35 2h 30m Direct
  • OPOPorto Airport 07:05
  • BGYMilan Bergamo/Orio al Serio Airport 10:35
  • 2h 30m
  • Direct
  • Ryanair (FR 4041)Boeing 737 Max 8 Passenger
  • Ryanair (FR 4041)
    • -
    • -
    • -
    • T
    • -
    • -
    • -
  • Boeing 737 Max 8 Passenger
  • 07:15 OPO
    10:45 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 07:15 - BGY 10:45 2h 30m Direct
  • OPOPorto Airport 07:15
  • BGYMilan Bergamo/Orio al Serio Airport 10:45
  • 2h 30m
  • Direct
  • Ryanair (FR 4041)Boeing 737 800
  • Ryanair (FR 4041)
    • -
    • -
    • W
    • -
    • -
    • -
    • -
  • Boeing 737 800
  • 08:30 OPO
    11:55 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 08:30 - MXP 11:55 2h 25m Direct
  • OPOPorto Airport 08:30
  • MXPMilan Malpensa Airport 11:55
  • 2h 25m
  • Direct
  • Ryanair (FR 4017)Boeing 737 800
  • Ryanair (FR 4017)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • Boeing 737 800
  • 09:10 OPO
    12:35 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 09:10 - MXP 12:35 2h 25m Direct
  • OPOPorto Airport 09:10
  • MXPMilan Malpensa Airport 12:35
  • 2h 25m
  • Direct
  • Ryanair (FR 4017)Boeing 737 800
  • Ryanair (FR 4017)
    • -
    • -
    • -
    • -
    • -
    • S
    • -
  • Boeing 737 800
  • 09:35 OPO
    13:00 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 09:35 - MXP 13:00 2h 25m Direct
  • OPOPorto Airport 09:35
  • MXPMilan Malpensa Airport 13:00
  • 2h 25m
  • Direct
  • EasyJet (U2 3876)Airbus
  • EasyJet (U2 3876)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • Airbus
  • 09:50 OPO
    13:15 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 09:50 - MXP 13:15 2h 25m Direct
  • OPOPorto Airport 09:50
  • MXPMilan Malpensa Airport 13:15
  • 2h 25m
  • Direct
  • EasyJet (U2 3882)Airbus
  • EasyJet (U2 3882)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • Airbus
  • 10:25 OPO
    13:50 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 10:25 - MXP 13:50 2h 25m Direct
  • OPOPorto Airport 10:25
  • MXPMilan Malpensa Airport 13:50
  • 2h 25m
  • Direct
  • EasyJet (U2 3876)Airbus
  • EasyJet (U2 3876)
    • -
    • -
    • -
    • T
    • -
    • -
    • -
  • Airbus
  • 11:45 OPO
    15:10 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 11:45 - MXP 15:10 2h 25m Direct
  • OPOPorto Airport 11:45
  • MXPMilan Malpensa Airport 15:10
  • 2h 25m
  • Direct
  • EasyJet (U2 7789)Airbus
  • EasyJet (U2 7789)
    • -
    • -
    • -
    • -
    • -
    • S
    • -
  • Airbus
  • 13:05 OPO
    16:35 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 13:05 - BGY 16:35 2h 30m Direct
  • OPOPorto Airport 13:05
  • BGYMilan Bergamo/Orio al Serio Airport 16:35
  • 2h 30m
  • Direct
  • Ryanair (FR 4041)Boeing 737 Max 8 Passenger
  • Ryanair (FR 4041)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • Boeing 737 Max 8 Passenger
  • 13:45 OPO
    17:15 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 13:45 - BGY 17:15 2h 30m Direct
  • OPOPorto Airport 13:45
  • BGYMilan Bergamo/Orio al Serio Airport 17:15
  • 2h 30m
  • Direct
  • Ryanair (FR 4637)Boeing 737 800
  • Ryanair (FR 4637)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • Boeing 737 800
  • 15:45 OPO
    19:15 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 15:45 - BGY 19:15 2h 30m Direct
  • OPOPorto Airport 15:45
  • BGYMilan Bergamo/Orio al Serio Airport 19:15
  • 2h 30m
  • Direct
  • Ryanair (FR 4637)Boeing 737 800
  • Ryanair (FR 4637)
    • -
    • -
    • W
    • -
    • -
    • -
    • -
  • Boeing 737 800
  • 15:45 OPO
    19:10 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 15:45 - MXP 19:10 2h 25m Direct
  • OPOPorto Airport 15:45
  • MXPMilan Malpensa Airport 19:10
  • 2h 25m
  • Direct
  • EasyJet (U2 3882)Airbus
  • EasyJet (U2 3882)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • Airbus
  • 15:50 OPO
    19:20 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 15:50 - BGY 19:20 2h 30m Direct
  • OPOPorto Airport 15:50
  • BGYMilan Bergamo/Orio al Serio Airport 19:20
  • 2h 30m
  • Direct
  • Ryanair (FR 4041)Boeing 737 800
  • Ryanair (FR 4041)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • Boeing 737 800
  • 17:00 OPO
    20:25 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 17:00 - MXP 20:25 2h 25m Direct
  • OPOPorto Airport 17:00
  • MXPMilan Malpensa Airport 20:25
  • 2h 25m
  • Direct
  • Ryanair (FR 4017)Boeing 737 800
  • Ryanair (FR 4017)
    • -
    • -
    • -
    • T
    • -
    • -
    • -
  • Boeing 737 800
  • 17:05 OPO
    20:35 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 17:05 - BGY 20:35 2h 30m Direct
  • OPOPorto Airport 17:05
  • BGYMilan Bergamo/Orio al Serio Airport 20:35
  • 2h 30m
  • Direct
  • Ryanair (FR 4041)Boeing 737 Max 8 Passenger
  • Ryanair (FR 4041)
    • M
    • -
    • -
    • -
    • -
    • -
    • -
  • Boeing 737 Max 8 Passenger
  • 17:10 OPO
    20:35 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 17:10 - MXP 20:35 2h 25m Direct
  • OPOPorto Airport 17:10
  • MXPMilan Malpensa Airport 20:35
  • 2h 25m
  • Direct
  • EasyJet (U2 7781)Airbus
  • EasyJet (U2 7781)
    • -
    • -
    • W
    • -
    • -
    • -
    • -
  • Airbus
  • 17:20 OPO
    20:50 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 17:20 - BGY 20:50 2h 30m Direct
  • OPOPorto Airport 17:20
  • BGYMilan Bergamo/Orio al Serio Airport 20:50
  • 2h 30m
  • Direct
  • Ryanair (FR 4041)Boeing 737 800
  • Ryanair (FR 4041)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • Boeing 737 800
  • 17:30 OPO
    21:00 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 17:30 - BGY 21:00 2h 30m Direct
  • OPOPorto Airport 17:30
  • BGYMilan Bergamo/Orio al Serio Airport 21:00
  • 2h 30m
  • Direct
  • Ryanair (FR 4041)Boeing 737 800
  • Ryanair (FR 4041)
    • -
    • -
    • -
    • -
    • -
    • S
    • -
  • Boeing 737 800
  • 17:35 OPO
    21:00 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 17:35 - MXP 21:00 2h 25m Direct
  • OPOPorto Airport 17:35
  • MXPMilan Malpensa Airport 21:00
  • 2h 25m
  • Direct
  • EasyJet (U2 3882)Airbus
  • EasyJet (U2 3882)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • Airbus
  • 17:40 OPO
    21:10 MXP
    2Hrs, 30m Direct
  • OPOPorto Airport 17:40 - MXP 21:10 2h 30m Direct
  • OPOPorto Airport 17:40
  • MXPMilan Malpensa Airport 21:10
  • 2h 30m
  • Direct
  • EasyJet (U2 7781)Airbus
  • EasyJet (U2 7781)
    • -
    • -
    • -
    • T
    • -
    • -
    • -
  • Airbus
  • 18:00 OPO
    21:20 MXP
    2Hrs, 20m Direct
  • OPOPorto Airport 18:00 - MXP 21:20 2h 20m Direct
  • OPOPorto Airport 18:00
  • MXPMilan Malpensa Airport 21:20
  • 2h 20m
  • Direct
  • EasyJet (U2 7789)Airbus
  • EasyJet (U2 7789)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • Airbus
  • 18:40 OPO
    22:05 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 18:40 - MXP 22:05 2h 25m Direct
  • OPOPorto Airport 18:40
  • MXPMilan Malpensa Airport 22:05
  • 2h 25m
  • Direct
  • Ryanair (FR 4017)Boeing 737 800
  • Ryanair (FR 4017)
    • M
    • -
    • -
    • -
    • -
    • -
    • -
  • Boeing 737 800
  • 19:40 OPO
    23:05 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 19:40 - MXP 23:05 2h 25m Direct
  • OPOPorto Airport 19:40
  • MXPMilan Malpensa Airport 23:05
  • 2h 25m
  • Direct
  • Ryanair (FR 4017)Boeing 737 800
  • Ryanair (FR 4017)
    • -
    • -
    • W
    • -
    • -
    • -
    • -
  • Boeing 737 800
  • 22:10 OPO
    01:35 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 22:10 - MXP 01:35 2h 25m Direct
  • OPOPorto Airport 22:10
  • MXPMilan Malpensa Airport 01:35
  • 2h 25m
  • Direct
  • EasyJet (U2 3876)Airbus
  • EasyJet (U2 3876)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • Airbus
  • 22:30 OPO
    01:55 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 22:30 - MXP 01:55 2h 25m Direct
  • OPOPorto Airport 22:30
  • MXPMilan Malpensa Airport 01:55
  • 2h 25m
  • Direct
  • EasyJet (U2 3882)Airbus
  • EasyJet (U2 3882)
    • M
    • -
    • -
    • -
    • -
    • -
    • -
  • Airbus
  • 05:00 OPO
    12:00 MXP
    6Hrs, 00m 1 Stop (AMS)
  • OPOPorto Airport 05:00 - MXP 12:00 6h 1 Stop (AMS) Amsterdam
  • OPOPorto Airport 05:00
    AMSAmsterdam Airport 10:20
  • AMSAmsterdam Airport 08:30
    MXPMilan Malpensa Airport 12:00
  • 6h (1h 50m)
  • 1 Stop AMS · Amsterdam 1h 50m
  • KLM (KL 1570)Boeing 737 800
    KLM (KL 1621)Boeing 737 800
  • KLM (KL 1570)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • 05:05 OPO
    10:55 MXP
    4Hrs, 50m 1 Stop (LIS)
  • OPOPorto Airport 05:05 - MXP 10:55 4h 50m 1 Stop (LIS) Lisbon
  • OPOPorto Airport 05:05
    LISLisbon Airport 07:15
  • LISLisbon Airport 06:05
    MXPMilan Malpensa Airport 10:55
  • 4h 50m (1h 10m)
  • 1 Stop LIS · Lisbon 1h 10m
  • TAP Air Portugal (TP 1937)Embraer 195
    TAP Air Portugal (TP 822)Airbus
  • TAP Air Portugal (TP 1937)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • 06:00 OPO
    13:45 MXP
    6Hrs, 45m 1 Stop (FRA)
  • OPOPorto Airport 06:00 - MXP 13:45 6h 45m 1 Stop (FRA) Frankfurt
  • OPOPorto Airport 06:00
    FRAFrankfurt International Airport 12:30
  • FRAFrankfurt International Airport 09:40
    MXPMilan Malpensa Airport 13:45
  • 6h 45m (2h 50m)
  • 1 Stop FRA · Frankfurt 2h 50m
  • Lufthansa (LH 1181)Airbus A321 Neo
    Air Dolomiti (EN 8810)Embraer Emb E90
  • Lufthansa (LH 1181)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • 06:00 OPO
    13:55 MXP
    6Hrs, 55m 1 Stop (FRA)
  • OPOPorto Airport 06:00 - MXP 13:55 6h 55m 1 Stop (FRA) Frankfurt
  • OPOPorto Airport 06:00
    FRAFrankfurt International Airport 12:40
  • FRAFrankfurt International Airport 09:40
    MXPMilan Malpensa Airport 13:55
  • 6h 55m (3h)
  • 1 Stop FRA · Frankfurt 3h
  • Lufthansa (LH 1181)Airbus
    Air Dolomiti (EN 8810)Embraer Emb E90
  • Lufthansa (LH 1181)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • 06:00 OPO
    12:00 LIN
    5Hrs, 00m 1 Stop (FRA)
  • OPOPorto Airport 06:00 - LIN 12:00 5h 1 Stop (FRA) Frankfurt
  • OPOPorto Airport 06:00
    FRAFrankfurt International Airport 10:50
  • FRAFrankfurt International Airport 09:40
    LINMilan Linate Airport 12:00
  • 5h (1h 10m)
  • 1 Stop FRA · Frankfurt 1h 10m
  • Lufthansa (LH 1181)Airbus
    Lufthansa (LH 272)Airbus
  • Lufthansa (LH 1181)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • 06:00 OPO
    13:55 MXP
    6Hrs, 55m 1 Stop (FRA)
  • OPOPorto Airport 06:00 - MXP 13:55 6h 55m 1 Stop (FRA) Frankfurt
  • OPOPorto Airport 06:00
    FRAFrankfurt International Airport 12:40
  • FRAFrankfurt International Airport 09:40
    MXPMilan Malpensa Airport 13:55
  • 6h 55m (3h)
  • 1 Stop FRA · Frankfurt 3h
  • Lufthansa (LH 1181)Airbus A321 Neo
    Air Dolomiti (EN 8810)Embraer 195
  • Lufthansa (LH 1181)
    • M
    • -
    • W
    • -
    • F
    • -
    • -
  • 06:00 OPO
    13:55 MXP
    6Hrs, 55m 1 Stop (FRA)
  • OPOPorto Airport 06:00 - MXP 13:55 6h 55m 1 Stop (FRA) Frankfurt
  • OPOPorto Airport 06:00
    FRAFrankfurt International Airport 12:40
  • FRAFrankfurt International Airport 09:40
    MXPMilan Malpensa Airport 13:55
  • 6h 55m (3h)
  • 1 Stop FRA · Frankfurt 3h
  • Lufthansa (LH 1181)Airbus A321 Neo
    Air Dolomiti (EN 8810)Embraer Emb E90
  • Lufthansa (LH 1181)
    • -
    • -
    • -
    • T
    • -
    • S
    • -
  • 06:00 OPO
    12:00 LIN
    5Hrs, 00m 1 Stop (FRA)
  • OPOPorto Airport 06:00 - LIN 12:00 5h 1 Stop (FRA) Frankfurt
  • OPOPorto Airport 06:00
    FRAFrankfurt International Airport 10:50
  • FRAFrankfurt International Airport 09:40
    LINMilan Linate Airport 12:00
  • 5h (1h 10m)
  • 1 Stop FRA · Frankfurt 1h 10m
  • Lufthansa (LH 1181)Airbus A321 Neo
    Lufthansa (LH 272)Embraer Emb E90
  • Lufthansa (LH 1181)
    • -
    • -
    • -
    • -
    • -
    • S
    • -
  • 06:00 OPO
    12:00 LIN
    5Hrs, 00m 1 Stop (FRA)
  • OPOPorto Airport 06:00 - LIN 12:00 5h 1 Stop (FRA) Frankfurt
  • OPOPorto Airport 06:00
    FRAFrankfurt International Airport 10:50
  • FRAFrankfurt International Airport 09:40
    LINMilan Linate Airport 12:00
  • 5h (1h 10m)
  • 1 Stop FRA · Frankfurt 1h 10m
  • Lufthansa (LH 1181)Airbus A321 Neo
    Lufthansa (LH 272)Airbus A320 Neo
  • Lufthansa (LH 1181)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • 06:00 OPO
    12:00 LIN
    5Hrs, 00m 1 Stop (FRA)
  • OPOPorto Airport 06:00 - LIN 12:00 5h 1 Stop (FRA) Frankfurt
  • OPOPorto Airport 06:00
    FRAFrankfurt International Airport 10:50
  • FRAFrankfurt International Airport 09:40
    LINMilan Linate Airport 12:00
  • 5h (1h 10m)
  • 1 Stop FRA · Frankfurt 1h 10m
  • Lufthansa (LH 1181)Airbus A321 Neo
    Lufthansa (LH 272)Airbus
  • Lufthansa (LH 1181)
    • M
    • T
    • W
    • T
    • -
    • -
    • -
  • 06:10 OPO
    13:40 MXP
    6Hrs, 30m 1 Stop (BRI)
  • OPOPorto Airport 06:10 - MXP 13:40 6h 30m 1 Stop (BRI) Bari
  • OPOPorto Airport 06:10
    BRIBari Airport 12:00
  • BRIBari Airport 10:10
    MXPMilan Malpensa Airport 13:40
  • 6h 30m (1h 50m)
  • 1 Stop BRI · Bari 1h 50m
  • Ryanair (FR 7612)Boeing 737 800
    Ryanair (FR 2771)Boeing 737 800
  • Ryanair (FR 7612)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • 06:10 OPO
    12:10 MXP
    5Hrs, 00m 1 Stop (STN)
  • OPOPorto Airport 06:10 - MXP 12:10 5h 1 Stop (STN) London
  • OPOPorto Airport 06:10
    STNLondon Stansted Airport 09:10
  • STNLondon Stansted Airport 08:20
    MXPMilan Malpensa Airport 12:10
  • 5h (50m)
  • 1 Stop STN · London 50m
  • Ryanair (FR 1262)Boeing 737 Max 8 Passenger
    Ryanair (FR 2759)Boeing 737 800
  • Ryanair (FR 1262)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • 06:20 OPO
    14:10 BGY
    6Hrs, 50m 1 Stop (WRO)
  • OPOPorto Airport 06:20 - BGY 14:10 6h 50m 1 Stop (WRO) Wroclaw
  • OPOPorto Airport 06:20
    WROWroclaw Airport 12:30
  • WROWroclaw Airport 10:40
    BGYMilan Bergamo/Orio al Serio Airport 14:10
  • 6h 50m (1h 50m)
  • 1 Stop WRO · Wroclaw 1h 50m
  • Ryanair (FR 4422)Boeing 737 Max 8 Passenger
    Ryanair (FR 8845)Boeing 737 Max 8 Passenger
  • Ryanair (FR 4422)
    • M
    • -
    • -
    • -
    • -
    • -
    • -
  • 06:25 OPO
    14:15 MXP
    6Hrs, 50m 1 Stop (VIE)
  • OPOPorto Airport 06:25 - MXP 14:15 6h 50m 1 Stop (VIE) Vienna
  • OPOPorto Airport 06:25
    VIEVienna Airport 12:45
  • VIEVienna Airport 10:35
    MXPMilan Malpensa Airport 14:15
  • 6h 50m (2h 10m)
  • 1 Stop VIE · Vienna 2h 10m
  • Ryanair (FR 752)Boeing 737 Max 8 Passenger
    Ryanair (FR 6914)Airbus
  • Ryanair (FR 752)
    • -
    • -
    • -
    • -
    • -
    • S
    • -
  • 06:35 OPO
    13:35 BGY
    6Hrs, 00m 1 Stop (NRN)
  • OPOPorto Airport 06:35 - BGY 13:35 6h 1 Stop (NRN) Dusseldorf
  • OPOPorto Airport 06:35
    NRNDuesseldorf Weeze Airport 11:55
  • NRNDuesseldorf Weeze Airport 10:10
    BGYMilan Bergamo/Orio al Serio Airport 13:35
  • 6h (1h 45m)
  • 1 Stop NRN · Dusseldorf 1h 45m
  • Ryanair (FR 5488)Boeing 737 Max 8 Passenger
    Ryanair (FR 485)Boeing 737 800
  • Ryanair (FR 5488)
    • -
    • -
    • W
    • -
    • -
    • -
    • -
  • 06:50 OPO
    13:35 BGY
    5Hrs, 45m 1 Stop (BCN)
  • OPOPorto Airport 06:50 - BGY 13:35 5h 45m 1 Stop (BCN) Barcelona
  • OPOPorto Airport 06:50
    BCNBarcelona Airport 11:50
  • BCNBarcelona Airport 09:30
    BGYMilan Bergamo/Orio al Serio Airport 13:35
  • 5h 45m (2h 20m)
  • 1 Stop BCN · Barcelona 2h 20m
  • Ryanair (FR 4586)Boeing 737 800
    Ryanair (FR 3143)Boeing 737 Max 8 Passenger
  • Ryanair (FR 4586)
    • M
    • -
    • -
    • -
    • -
    • -
    • -
  • 07:05 OPO
    14:30 MXP
    6Hrs, 25m 1 Stop (BVA)
  • OPOPorto Airport 07:05 - MXP 14:30 6h 25m 1 Stop (BVA) Paris
  • OPOPorto Airport 07:05
    BVAParis Beauvais-Tille Airport 13:00
  • BVAParis Beauvais-Tille Airport 10:15
    MXPMilan Malpensa Airport 14:30
  • 6h 25m (2h 45m)
  • 1 Stop BVA · Paris 2h 45m
  • Ryanair (FR 594)Boeing 737 Max 8 Passenger
    Ryanair (FR 8883)Boeing 737 800
  • Ryanair (FR 594)
    • -
    • -
    • -
    • -
    • -
    • S
    • -
  • 07:05 OPO
    14:45 MXP
    6Hrs, 40m 1 Stop (MAD)
  • OPOPorto Airport 07:05 - MXP 14:45 6h 40m 1 Stop (MAD) Madrid
  • OPOPorto Airport 07:05
    MADMadrid Barajas Airport 12:35
  • MADMadrid Barajas Airport 09:20
    MXPMilan Malpensa Airport 14:45
  • 6h 40m (3h 15m)
  • 1 Stop MAD · Madrid 3h 15m
  • Ryanair (FR 573)Boeing 737 800
    Ryanair (FR 2753)Boeing 737 800
  • Ryanair (FR 573)
    • -
    • -
    • W
    • -
    • -
    • -
    • -
  • 07:10 OPO
    14:25 BGY
    6Hrs, 15m 1 Stop (STN)
  • OPOPorto Airport 07:10 - BGY 14:25 6h 15m 1 Stop (STN) London
  • OPOPorto Airport 07:10
    STNLondon Stansted Airport 11:30
  • STNLondon Stansted Airport 09:25
    BGYMilan Bergamo/Orio al Serio Airport 14:25
  • 6h 15m (2h 05m)
  • 1 Stop STN · London 2h 05m
  • Ryanair (FR 1262)Boeing 737 800
    Ryanair (FR 2738)Boeing 737 800
  • Ryanair (FR 1262)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • 07:15 OPO
    13:25 BGY
    5Hrs, 10m 1 Stop (BVA)
  • OPOPorto Airport 07:15 - BGY 13:25 5h 10m 1 Stop (BVA) Paris
  • OPOPorto Airport 07:15
    BVAParis Beauvais-Tille Airport 11:55
  • BVAParis Beauvais-Tille Airport 10:25
    BGYMilan Bergamo/Orio al Serio Airport 13:25
  • 5h 10m (1h 30m)
  • 1 Stop BVA · Paris 1h 30m
  • Ryanair (FR 594)Boeing 737 800
    Ryanair (FR 3433)Boeing 737 800
  • Ryanair (FR 594)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • 07:25 OPO
    14:45 BGY
    6Hrs, 20m 1 Stop (BVA)
  • OPOPorto Airport 07:25 - BGY 14:45 6h 20m 1 Stop (BVA) Paris
  • OPOPorto Airport 07:25
    BVAParis Beauvais-Tille Airport 13:15
  • BVAParis Beauvais-Tille Airport 10:35
    BGYMilan Bergamo/Orio al Serio Airport 14:45
  • 6h 20m (2h 40m)
  • 1 Stop BVA · Paris 2h 40m
  • Ryanair (FR 594)Boeing 737 800
    Ryanair (FR 4232)Boeing 737 800
  • Ryanair (FR 594)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • 07:25 OPO
    14:50 MXP
    6Hrs, 25m 1 Stop (BCN)
  • OPOPorto Airport 07:25 - MXP 14:50 6h 25m 1 Stop (BCN) Barcelona
  • OPOPorto Airport 07:25
    BCNBarcelona Airport 13:05
  • BCNBarcelona Airport 10:10
    MXPMilan Malpensa Airport 14:50
  • 6h 25m (2h 55m)
  • 1 Stop BCN · Barcelona 2h 55m
  • Ryanair (FR 4546)Boeing 737 800
    Ryanair (FR 269)Boeing 737 800
  • Ryanair (FR 4546)
    • -
    • -
    • W
    • -
    • -
    • -
    • -
  • 07:35 OPO
    15:35 MXP
    7Hrs, 00m 1 Stop (MAD)
  • OPOPorto Airport 07:35 - MXP 15:35 7h 1 Stop (MAD) Madrid
  • OPOPorto Airport 07:35
    MADMadrid Barajas Airport 13:30
  • MADMadrid Barajas Airport 09:45
    MXPMilan Malpensa Airport 15:35
  • 7h (3h 45m)
  • 1 Stop MAD · Madrid 3h 45m
  • Air Europa (UX 1144)Boeing 737 800
    Air Europa (UX 1063)Boeing 737 800
  • Air Europa (UX 1144)
    • -
    • T
    • -
    • T
    • -
    • S
    • -
  • 07:35 OPO
    13:50 MXP
    5Hrs, 15m 1 Stop (BCN)
  • OPOPorto Airport 07:35 - MXP 13:50 5h 15m 1 Stop (BCN) Barcelona
  • OPOPorto Airport 07:35
    BCNBarcelona Airport 12:05
  • BCNBarcelona Airport 10:20
    MXPMilan Malpensa Airport 13:50
  • 5h 15m (1h 45m)
  • 1 Stop BCN · Barcelona 1h 45m
  • Ryanair (FR 4546)Boeing 737 Max 8 Passenger
    Ryanair (FR 269)Boeing 737 800
  • Ryanair (FR 4546)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • 07:40 OPO
    14:45 BGY
    6Hrs, 05m 1 Stop (BCN)
  • OPOPorto Airport 07:40 - BGY 14:45 6h 05m 1 Stop (BCN) Barcelona
  • OPOPorto Airport 07:40
    BCNBarcelona Airport 13:00
  • BCNBarcelona Airport 10:25
    BGYMilan Bergamo/Orio al Serio Airport 14:45
  • 6h 05m (2h 35m)
  • 1 Stop BCN · Barcelona 2h 35m
  • Ryanair (FR 4546)Boeing 737 Max 8 Passenger
    Ryanair (FR 846)Boeing 737 800
  • Ryanair (FR 4546)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • 07:45 OPO
    14:50 BGY
    6Hrs, 05m 1 Stop (CAG)
  • OPOPorto Airport 07:45 - BGY 14:50 6h 05m 1 Stop (CAG) Cagliari
  • OPOPorto Airport 07:45
    CAGCagliari Airport 13:20
  • CAGCagliari Airport 11:15
    BGYMilan Bergamo/Orio al Serio Airport 14:50
  • 6h 05m (2h 05m)
  • 1 Stop CAG · Cagliari 2h 05m
  • Ryanair (FR 5265)Boeing 737 Max 8 Passenger
    Ryanair (FR 3201)Boeing 737 800
  • Ryanair (FR 5265)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • 07:55 OPO
    15:05 BGY
    6Hrs, 10m 1 Stop (BCN)
  • OPOPorto Airport 07:55 - BGY 15:05 6h 10m 1 Stop (BCN) Barcelona
  • OPOPorto Airport 07:55
    BCNBarcelona Airport 13:20
  • BCNBarcelona Airport 10:40
    BGYMilan Bergamo/Orio al Serio Airport 15:05
  • 6h 10m (2h 40m)
  • 1 Stop BCN · Barcelona 2h 40m
  • Ryanair (FR 4546)Boeing 737 800
    Ryanair (FR 3143)Boeing 737 800
  • Ryanair (FR 4546)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • 07:55 OPO
    14:15 BGY
    5Hrs, 20m 1 Stop (HHN)
  • OPOPorto Airport 07:55 - BGY 14:15 5h 20m 1 Stop (HHN) Frankfurt
  • OPOPorto Airport 07:55
    HHNFrankfurt Hahn Airport 13:00
  • HHNFrankfurt Hahn Airport 11:25
    BGYMilan Bergamo/Orio al Serio Airport 14:15
  • 5h 20m (1h 35m)
  • 1 Stop HHN · Frankfurt 1h 35m
  • Ryanair (FR 4393)Boeing 737 800
    Ryanair (FR 1688)Boeing 737 Max 8 Passenger
  • Ryanair (FR 4393)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • 08:10 OPO
    14:15 MXP
    5Hrs, 05m 1 Stop (BCN)
  • OPOPorto Airport 08:10 - MXP 14:15 5h 05m 1 Stop (BCN) Barcelona
  • OPOPorto Airport 08:10
    BCNBarcelona Airport 12:30
  • BCNBarcelona Airport 10:55
    MXPMilan Malpensa Airport 14:15
  • 5h 05m (1h 35m)
  • 1 Stop BCN · Barcelona 1h 35m
  • Vueling Airlines (VY 8477)Airbus Industrie A320 Sharklets
    Vueling Airlines (VY 6340)Airbus
  • Vueling Airlines (VY 8477)
    • -
    • -
    • -
    • -
    • -
    • S
    • -
  • 08:20 OPO
    15:35 MXP
    6Hrs, 15m 1 Stop (LUX)
  • OPOPorto Airport 08:20 - MXP 15:35 6h 15m 1 Stop (LUX) Luxembourg
  • OPOPorto Airport 08:20
    LUXLuxembourg Airport 14:20
  • LUXLuxembourg Airport 11:40
    MXPMilan Malpensa Airport 15:35
  • 6h 15m (2h 40m)
  • 1 Stop LUX · Luxembourg 2h 40m
  • Luxair (LG 3770)Boeing 737 700
    Luxair (LG 6995)Dehavilland Dash 8 400
  • Luxair (LG 3770)
    • -
    • -
    • -
    • T
    • F
    • -
    • -
  • 08:20 OPO
    15:50 MXP
    6Hrs, 30m 1 Stop (LUX)
  • OPOPorto Airport 08:20 - MXP 15:50 6h 30m 1 Stop (LUX) Luxembourg
  • OPOPorto Airport 08:20
    LUXLuxembourg Airport 14:35
  • LUXLuxembourg Airport 11:40
    MXPMilan Malpensa Airport 15:50
  • 6h 30m (2h 55m)
  • 1 Stop LUX · Luxembourg 2h 55m
  • Luxair (LG 3770)Boeing 737 700
    Luxair (LG 6995)Dehavilland Dash 8 400
  • Luxair (LG 3770)
    • -
    • -
    • W
    • -
    • -
    • -
    • -
  • 08:35 OPO
    14:40 BGY
    5Hrs, 05m 1 Stop (FKB)
  • OPOPorto Airport 08:35 - BGY 14:40 5h 05m 1 Stop (FKB) Karlsruhe/Baden Baden
  • OPOPorto Airport 08:35
    FKBKarlsruhe/Baden-Baden Baden Airpark Airport 13:35
  • FKBKarlsruhe/Baden-Baden Baden Airpark Airport 12:05
    BGYMilan Bergamo/Orio al Serio Airport 14:40
  • 5h 05m (1h 30m)
  • 1 Stop FKB · Karlsruhe/Baden Baden 1h 30m
  • Ryanair (FR 5478)Boeing 737 800
    Ryanair (FR 3455)Boeing 737 Max 8 Passenger
  • Ryanair (FR 5478)
    • -
    • -
    • -
    • T
    • -
    • -
    • -
  • 08:35 OPO
    15:15 MXP
    5Hrs, 40m 1 Stop (BCN)
  • OPOPorto Airport 08:35 - MXP 15:15 5h 40m 1 Stop (BCN) Barcelona
  • OPOPorto Airport 08:35
    BCNBarcelona Airport 13:30
  • BCNBarcelona Airport 11:20
    MXPMilan Malpensa Airport 15:15
  • 5h 40m (2h 10m)
  • 1 Stop BCN · Barcelona 2h 10m
  • Vueling Airlines (VY 8477)Airbus Industrie A320 Sharklets
    Vueling Airlines (VY 6342)Airbus
  • Vueling Airlines (VY 8477)
    • -
    • -
    • -
    • T
    • -
    • -
    • -
  • 08:35 OPO
    15:50 MXP
    6Hrs, 15m 1 Stop (BCN)
  • OPOPorto Airport 08:35 - MXP 15:50 6h 15m 1 Stop (BCN) Barcelona
  • OPOPorto Airport 08:35
    BCNBarcelona Airport 14:05
  • BCNBarcelona Airport 11:20
    MXPMilan Malpensa Airport 15:50
  • 6h 15m (2h 45m)
  • 1 Stop BCN · Barcelona 2h 45m
  • Vueling Airlines (VY 8477)Airbus
    Vueling Airlines (VY 6332)Airbus Industrie A320 Sharklets
  • Vueling Airlines (VY 8477)
    • M
    • -
    • -
    • -
    • -
    • -
    • -
  • 08:35 OPO
    15:55 MXP
    6Hrs, 20m 1 Stop (BCN)
  • OPOPorto Airport 08:35 - MXP 15:55 6h 20m 1 Stop (BCN) Barcelona
  • OPOPorto Airport 08:35
    BCNBarcelona Airport 14:10
  • BCNBarcelona Airport 11:20
    MXPMilan Malpensa Airport 15:55
  • 6h 20m (2h 50m)
  • 1 Stop BCN · Barcelona 2h 50m
  • Vueling Airlines (VY 8477)Airbus Industrie A320 Sharklets
    Vueling Airlines (VY 6332)Airbus Industrie A320 Sharklets
  • Vueling Airlines (VY 8477)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • 08:40 OPO
    14:00 MXP
    4Hrs, 20m 1 Stop (ZRH)
  • OPOPorto Airport 08:40 - MXP 14:00 4h 20m 1 Stop (ZRH) Zurich
  • OPOPorto Airport 08:40
    ZRHZurich Airport 13:05
  • ZRHZurich Airport 12:10
    MXPMilan Malpensa Airport 14:00
  • 4h 20m (55m)
  • 1 Stop ZRH · Zurich 55m
  • Swiss (LX 2061)Embraer Emb E90
    Swiss (LX 1628)Embraer 195 E2
  • Swiss (LX 2061)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • 08:40 OPO
    13:55 MXP
    4Hrs, 15m 1 Stop (ZRH)
  • OPOPorto Airport 08:40 - MXP 13:55 4h 15m 1 Stop (ZRH) Zurich
  • OPOPorto Airport 08:40
    ZRHZurich Airport 13:00
  • ZRHZurich Airport 12:10
    MXPMilan Malpensa Airport 13:55
  • 4h 15m (50m)
  • 1 Stop ZRH · Zurich 50m
  • Swiss (LX 2061)Airbus A220 300
    Swiss (LX 1628)Embraer Emb E90
  • Swiss (LX 2061)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • 08:40 OPO
    14:00 MXP
    4Hrs, 20m 1 Stop (ZRH)
  • OPOPorto Airport 08:40 - MXP 14:00 4h 20m 1 Stop (ZRH) Zurich
  • OPOPorto Airport 08:40
    ZRHZurich Airport 13:05
  • ZRHZurich Airport 12:10
    MXPMilan Malpensa Airport 14:00
  • 4h 20m (55m)
  • 1 Stop ZRH · Zurich 55m
  • Swiss (LX 2061)Airbus A220 300
    Swiss (LX 1628)Embraer Emb E90
  • Swiss (LX 2061)
    • -
    • -
    • -
    • T
    • -
    • S
    • -
  • 08:50 OPO
    16:20 MXP
    6Hrs, 30m 1 Stop (LIS)
  • OPOPorto Airport 08:50 - MXP 16:20 6h 30m 1 Stop (LIS) Lisbon
  • OPOPorto Airport 08:50
    LISLisbon Airport 12:40
  • LISLisbon Airport 09:50
    MXPMilan Malpensa Airport 16:20
  • 6h 30m (2h 50m)
  • 1 Stop LIS · Lisbon 2h 50m
  • TAP Air Portugal (TP 1921)Airbus
    TAP Air Portugal (TP 824)Airbus
  • TAP Air Portugal (TP 1921)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • 08:55 OPO
    16:25 MXP
    6Hrs, 30m 1 Stop (LIS)
  • OPOPorto Airport 08:55 - MXP 16:25 6h 30m 1 Stop (LIS) Lisbon
  • OPOPorto Airport 08:55
    LISLisbon Airport 12:45
  • LISLisbon Airport 09:55
    MXPMilan Malpensa Airport 16:25
  • 6h 30m (2h 50m)
  • 1 Stop LIS · Lisbon 2h 50m
  • TAP Air Portugal (TP 1921)Embraer Emb E90
    TAP Air Portugal (TP 824)Airbus A320 Neo
  • TAP Air Portugal (TP 1921)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • 08:55 OPO
    16:25 MXP
    6Hrs, 30m 1 Stop (LIS)
  • OPOPorto Airport 08:55 - MXP 16:25 6h 30m 1 Stop (LIS) Lisbon
  • OPOPorto Airport 08:55
    LISLisbon Airport 12:45
  • LISLisbon Airport 09:55
    MXPMilan Malpensa Airport 16:25
  • 6h 30m (2h 50m)
  • 1 Stop LIS · Lisbon 2h 50m
  • TAP Air Portugal (TP 1921)Embraer 195
    TAP Air Portugal (TP 824)Airbus
  • TAP Air Portugal (TP 1921)
    • -
    • -
    • -
    • T
    • -
    • -
    • -
  • 08:55 OPO
    16:25 MXP
    6Hrs, 30m 1 Stop (LIS)
  • OPOPorto Airport 08:55 - MXP 16:25 6h 30m 1 Stop (LIS) Lisbon
  • OPOPorto Airport 08:55
    LISLisbon Airport 12:45
  • LISLisbon Airport 10:00
    MXPMilan Malpensa Airport 16:25
  • 6h 30m (2h 45m)
  • 1 Stop LIS · Lisbon 2h 45m
  • TAP Air Portugal (TP 1921)Airbus
    TAP Air Portugal (TP 824)Airbus A320 Neo
  • TAP Air Portugal (TP 1921)
    • M
    • -
    • -
    • -
    • -
    • -
    • -
  • 08:55 OPO
    15:55 MXP
    6Hrs, 00m 1 Stop (DUS)
  • OPOPorto Airport 08:55 - MXP 15:55 6h 1 Stop (DUS) Dusseldorf
  • OPOPorto Airport 08:55
    DUSDuesseldorf International Airport 14:25
  • DUSDuesseldorf International Airport 12:30
    MXPMilan Malpensa Airport 15:55
  • 6h (1h 55m)
  • 1 Stop DUS · Dusseldorf 1h 55m
  • Eurowings (EW 9641)Airbus A220 300
    Eurowings (EW 9824)Airbus A220 300
  • Eurowings (EW 9641)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • 08:55 OPO
    16:25 MXP
    6Hrs, 30m 1 Stop (LIS)
  • OPOPorto Airport 08:55 - MXP 16:25 6h 30m 1 Stop (LIS) Lisbon
  • OPOPorto Airport 08:55
    LISLisbon Airport 12:45
  • LISLisbon Airport 09:55
    MXPMilan Malpensa Airport 16:25
  • 6h 30m (2h 50m)
  • 1 Stop LIS · Lisbon 2h 50m
  • TAP Air Portugal (TP 1921)Embraer Emb E90
    TAP Air Portugal (TP 824)Airbus A321 Neo
  • TAP Air Portugal (TP 1921)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • 09:00 OPO
    16:25 MXP
    6Hrs, 25m 1 Stop (LIS)
  • OPOPorto Airport 09:00 - MXP 16:25 6h 25m 1 Stop (LIS) Lisbon
  • OPOPorto Airport 09:00
    LISLisbon Airport 12:45
  • LISLisbon Airport 10:00
    MXPMilan Malpensa Airport 16:25
  • 6h 25m (2h 45m)
  • 1 Stop LIS · Lisbon 2h 45m
  • TAP Air Portugal (TP 1921)Airbus
    TAP Air Portugal (TP 824)Airbus A320 Neo
  • TAP Air Portugal (TP 1921)
    • -
    • -
    • W
    • -
    • -
    • -
    • -
  • 09:10 OPO
    17:00 BGY
    6Hrs, 50m 1 Stop (FAO)
  • OPOPorto Airport 09:10 - BGY 17:00 6h 50m 1 Stop (FAO) Faro
  • OPOPorto Airport 09:10
    FAOFaro Airport 13:10
  • FAOFaro Airport 10:10
    BGYMilan Bergamo/Orio al Serio Airport 17:00
  • 6h 50m (3h)
  • 1 Stop FAO · Faro 3h
  • Ryanair (FR 5452)Boeing 737 Max 8 Passenger
    Ryanair (FR 5140)Boeing 737 800
  • Ryanair (FR 5452)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • 09:15 OPO
    16:50 MXP
    6Hrs, 35m 1 Stop (CDG)
  • OPOPorto Airport 09:15 - MXP 16:50 6h 35m 1 Stop (CDG) Paris
  • OPOPorto Airport 09:15
    CDGParis Charles de Gaulle Airport 15:20
  • CDGParis Charles de Gaulle Airport 12:30
    MXPMilan Malpensa Airport 16:50
  • 6h 35m (2h 50m)
  • 1 Stop CDG · Paris 2h 50m
  • Air France (AF 4155)Airbus
    Air France (AF 1230)Airbus
  • Air France (AF 4155)
    • M
    • -
    • -
    • -
    • -
    • -
    • -
  • 09:15 OPO
    16:50 MXP
    6Hrs, 35m 1 Stop (CDG)
  • OPOPorto Airport 09:15 - MXP 16:50 6h 35m 1 Stop (CDG) Paris
  • OPOPorto Airport 09:15
    CDGParis Charles de Gaulle Airport 15:20
  • CDGParis Charles de Gaulle Airport 12:30
    MXPMilan Malpensa Airport 16:50
  • 6h 35m (2h 50m)
  • 1 Stop CDG · Paris 2h 50m
  • Air France (AF 1429)Airbus
    Air France (AF 1230)Airbus
  • Air France (AF 1429)
    • -
    • -
    • W
    • -
    • -
    • -
    • -
  • 09:15 OPO
    16:50 MXP
    6Hrs, 35m 1 Stop (CDG)
  • OPOPorto Airport 09:15 - MXP 16:50 6h 35m 1 Stop (CDG) Paris
  • OPOPorto Airport 09:15
    CDGParis Charles de Gaulle Airport 15:20
  • CDGParis Charles de Gaulle Airport 12:30
    MXPMilan Malpensa Airport 16:50
  • 6h 35m (2h 50m)
  • 1 Stop CDG · Paris 2h 50m
  • Air France (AF 1429)Airbus
    Air France (AF 1230)Airbus
  • Air France (AF 1429)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • 09:40 OPO
    17:20 BGY
    6Hrs, 40m 1 Stop (BCN)
  • OPOPorto Airport 09:40 - BGY 17:20 6h 40m 1 Stop (BCN) Barcelona
  • OPOPorto Airport 09:40
    BCNBarcelona Airport 15:35
  • BCNBarcelona Airport 12:25
    BGYMilan Bergamo/Orio al Serio Airport 17:20
  • 6h 40m (3h 10m)
  • 1 Stop BCN · Barcelona 3h 10m
  • Ryanair (FR 4546)Boeing 737 800
    Ryanair (FR 6353)Boeing 737 800
  • Ryanair (FR 4546)
    • -
    • -
    • -
    • T
    • -
    • -
    • -
No Schedules Sorry, there are no schedules matching your filters. Try removing one. reset
What’s the fastest flight time from Porto to Milan?

The fastest flight time for direct flights from Porto to Milan is 2 hours 20 minutes. Check latest flight schedules & prices on Wego.

What’s the most popular airline flying from Porto to Milan?

The most popular airline flying from Porto to Milan is Ryanair. Find the latest flight deals on Wego.

How far is Milan from Porto?

The flight distance between Porto and Milan is 1515km. Check all available flights on Wego.

When is the earliest and latest flight of the day?

The earliest flight of the day departs at 05:00. The last flight of the day departs at 05:00. See the full list of flight times on Wego.

How many airlines offer direct flights from Porto to Milan?

There are 2 airlines that offer direct flights from Porto to Milan. Find out the list of airlines on Wego.