Fare Guide

Estimated lowest fares found within 7 days

Cheapest Airline Ryanair
Cheapest Month October
Cheapest Day of the Week Friday
Cheapest Airline Ryanair

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

  • Ryanair Ryanair
  • TAP Air Portugal TAP Air Portugal
  • Transavia France Transavia France
  • EasyJet EasyJet
  • Vueling Airlines Vueling Airlines
  • KLM KLM
  • Air France Air France
  • Swiss Swiss
  • Air Europa Air Europa
  • Lufthansa Lufthansa
Cheapest Month October

Travel Period: May 2025 - April 2026

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

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

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

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

Flight Schedules

Last Updated: Wed, 2 Apr, 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:35 OPO
    10:05 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 06:35 - BGY 10:05 2h 30m Direct
  • OPOPorto Airport 06:35
  • BGYMilan Bergamo/Orio al Serio Airport 10:05
  • 2h 30m
  • Direct
  • Ryanair (FR 4637)Boeing 737 800
  • Ryanair (FR 4637)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • Boeing 737 800
  • 07:10 OPO
    10:40 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 07:10 - BGY 10:40 2h 30m Direct
  • OPOPorto Airport 07:10
  • BGYMilan Bergamo/Orio al Serio Airport 10:40
  • 2h 30m
  • Direct
  • Ryanair (FR 4041)Boeing 737 Max 8 Passenger
  • Ryanair (FR 4041)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • Boeing 737 Max 8 Passenger
  • 08:15 OPO
    11:45 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 08:15 - BGY 11:45 2h 30m Direct
  • OPOPorto Airport 08:15
  • BGYMilan Bergamo/Orio al Serio Airport 11:45
  • 2h 30m
  • Direct
  • Ryanair (FR 4041)Boeing 737 800
  • Ryanair (FR 4041)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • Boeing 737 800
  • 08:20 OPO
    11:50 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 08:20 - BGY 11:50 2h 30m Direct
  • OPOPorto Airport 08:20
  • BGYMilan Bergamo/Orio al Serio Airport 11:50
  • 2h 30m
  • Direct
  • Ryanair (FR 4041)Boeing 737 800
  • Ryanair (FR 4041)
    • -
    • -
    • -
    • T
    • -
    • -
    • -
  • Boeing 737 800
  • 09:45 OPO
    13:10 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 09:45 - MXP 13:10 2h 25m Direct
  • OPOPorto Airport 09:45
  • MXPMilan Malpensa Airport 13:10
  • 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
  • 10:40 OPO
    14:05 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 10:40 - MXP 14:05 2h 25m Direct
  • OPOPorto Airport 10:40
  • MXPMilan Malpensa Airport 14:05
  • 2h 25m
  • Direct
  • Ryanair (FR 4017)Boeing 737 800
  • Ryanair (FR 4017)
    • -
    • -
    • W
    • -
    • -
    • -
    • -
  • Boeing 737 800
  • 14:15 OPO
    17:40 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 14:15 - MXP 17:40 2h 25m Direct
  • OPOPorto Airport 14:15
  • MXPMilan Malpensa Airport 17:40
  • 2h 25m
  • Direct
  • Ryanair (FR 4017)Boeing 737 800
  • Ryanair (FR 4017)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • Boeing 737 800
  • 14:45 OPO
    18:15 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 14:45 - BGY 18:15 2h 30m Direct
  • OPOPorto Airport 14:45
  • BGYMilan Bergamo/Orio al Serio Airport 18:15
  • 2h 30m
  • Direct
  • Ryanair (FR 4637)Boeing 737 800
  • Ryanair (FR 4637)
    • -
    • T
    • -
    • -
    • -
    • -
    • -
  • Boeing 737 800
  • 14:50 OPO
    18:15 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 14:50 - MXP 18:15 2h 25m Direct
  • OPOPorto Airport 14:50
  • MXPMilan Malpensa Airport 18:15
  • 2h 25m
  • Direct
  • Ryanair (FR 4017)Boeing 737 800
  • Ryanair (FR 4017)
    • M
    • -
    • -
    • -
    • -
    • -
    • -
  • Boeing 737 800
  • 15:10 OPO
    18:40 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 15:10 - BGY 18:40 2h 30m Direct
  • OPOPorto Airport 15:10
  • BGYMilan Bergamo/Orio al Serio Airport 18:40
  • 2h 30m
  • Direct
  • Ryanair (FR 4637)Boeing 737 800
  • Ryanair (FR 4637)
    • -
    • -
    • -
    • T
    • -
    • -
    • -
  • Boeing 737 800
  • 15:25 OPO
    18:45 MXP
    2Hrs, 20m Direct
  • OPOPorto Airport 15:25 - MXP 18:45 2h 20m Direct
  • OPOPorto Airport 15:25
  • MXPMilan Malpensa Airport 18:45
  • 2h 20m
  • Direct
  • Ryanair (FR 4017)Boeing 737 800
  • Ryanair (FR 4017)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • Boeing 737 800
  • 15:30 OPO
    18:55 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 15:30 - MXP 18:55 2h 25m Direct
  • OPOPorto Airport 15:30
  • MXPMilan Malpensa Airport 18:55
  • 2h 25m
  • Direct
  • EasyJet (U2 3882)Airbus
  • EasyJet (U2 3882)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • Airbus
  • 15:40 OPO
    19:05 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 15:40 - MXP 19:05 2h 25m Direct
  • OPOPorto Airport 15:40
  • MXPMilan Malpensa Airport 19:05
  • 2h 25m
  • Direct
  • EasyJet (U2 3882)Airbus
  • EasyJet (U2 3882)
    • -
    • -
    • -
    • -
    • -
    • S
    • -
  • Airbus
  • 16:00 OPO
    19:25 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 16:00 - MXP 19:25 2h 25m Direct
  • OPOPorto Airport 16:00
  • MXPMilan Malpensa Airport 19:25
  • 2h 25m
  • Direct
  • Ryanair (FR 4017)Boeing 737 800
  • Ryanair (FR 4017)
    • -
    • -
    • -
    • T
    • -
    • -
    • -
  • Boeing 737 800
  • 16:10 OPO
    19:40 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 16:10 - BGY 19:40 2h 30m Direct
  • OPOPorto Airport 16:10
  • BGYMilan Bergamo/Orio al Serio Airport 19:40
  • 2h 30m
  • Direct
  • Ryanair (FR 4041)Boeing 737 800
  • Ryanair (FR 4041)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • 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 800
  • Ryanair (FR 4041)
    • M
    • -
    • -
    • -
    • -
    • -
    • -
  • Boeing 737 800
  • 17:05 OPO
    20:30 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 17:05 - MXP 20:30 2h 25m Direct
  • OPOPorto Airport 17:05
  • MXPMilan Malpensa Airport 20:30
  • 2h 25m
  • Direct
  • EasyJet (U2 7781)Airbus
  • EasyJet (U2 7781)
    • -
    • -
    • W
    • -
    • -
    • -
    • -
  • Airbus
  • 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
  • Ryanair (FR 4017)Boeing 737 800
  • Ryanair (FR 4017)
    • -
    • -
    • -
    • -
    • F
    • -
    • -
  • Boeing 737 800
  • 17:15 OPO
    20:40 MXP
    2Hrs, 25m Direct
  • OPOPorto Airport 17:15 - MXP 20:40 2h 25m Direct
  • OPOPorto Airport 17:15
  • MXPMilan Malpensa Airport 20:40
  • 2h 25m
  • Direct
  • EasyJet (U2 7781)Airbus
  • EasyJet (U2 7781)
    • -
    • -
    • -
    • T
    • -
    • -
    • -
  • Airbus
  • 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
  • 19:50 OPO
    23:20 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 19:50 - BGY 23:20 2h 30m Direct
  • OPOPorto Airport 19:50
  • BGYMilan Bergamo/Orio al Serio Airport 23:20
  • 2h 30m
  • Direct
  • Ryanair (FR 4637)Boeing 737 800
  • Ryanair (FR 4637)
    • -
    • -
    • -
    • -
    • -
    • -
    • S
  • Boeing 737 800
  • 20:05 OPO
    23:35 BGY
    2Hrs, 30m Direct
  • OPOPorto Airport 20:05 - BGY 23:35 2h 30m Direct
  • OPOPorto Airport 20:05
  • BGYMilan Bergamo/Orio al Serio Airport 23:35
  • 2h 30m
  • Direct
  • Ryanair (FR 4041)Boeing 737 Max 8 Passenger
  • Ryanair (FR 4041)
    • -
    • -
    • W
    • -
    • -
    • -
    • -
  • Boeing 737 Max 8 Passenger
  • 21:40 OPO
    01:00 MXP
    2Hrs, 20m Direct
  • OPOPorto Airport 21:40 - MXP 01:00 2h 20m Direct
  • OPOPorto Airport 21:40
  • MXPMilan Malpensa Airport 01:00
  • 2h 20m
  • Direct
  • Ryanair (FR 8953)Boeing 737 Max 8 Passenger
  • Ryanair (FR 8953)
    • -
    • -
    • -
    • T
    • -
    • -
    • -
  • Boeing 737 Max 8 Passenger
  • 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
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 06:35. The last flight of the day departs at 06:35. 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.