Cheap flights from Porto to Milan from $24 OPO → BGY, LIN, MXP, XIK
Porto Airport (OPO) → Orio al Serio International Airport (BGY), Milano Linate Airport (LIN), Milano Malpensa Airport (MXP), Milan Centrale Railway Station (XIK)
The cheapest return found recently is $39 with Ryanair, 10 Dec – 17 Dec, found 2 days ago. The cheapest one-way found recently is $24 with Ryanair, 20 Feb 2027, found 2 days ago.
- Cheapest one-way found recently
- $24, Ryanair, found 2 days ago
- Cheapest return found recently
- $39, 10 Dec to 17 Dec
- Usual return price
- $60 to $130
- Cheapest month to fly
- December 2026, return fares from $39 found in the last 7 days
- Airlines with nonstop flights
- Ryanair, easyJet, Wizz Air Malta, Malta Air
- Shortest nonstop flight found
- 2 h 30 min
Return
The cheapest return fare on each of 29 departure dates is usually $60 to $130.
Cheapest return found recently
$39
10 Dec – 17 Dec · Ryanair
Porto Airport (OPO) → Orio al Serio International Airport (BGY)
Leaves 3:25 p.m. · Return leaves 6:25 a.m. · 5 h 15 min of travel, both ways together
out nonstop, back nonstop
found 2 days ago
Cheapest nonstop return
$39
10 Dec – 17 Dec · Ryanair
Porto Airport (OPO) → Orio al Serio International Airport (BGY)
Leaves 3:25 p.m. · Return leaves 6:25 a.m. · 5 h 15 min of travel, both ways together
out nonstop, back nonstop
found 2 days ago
Every nonstop date from Porto to Milan
Found recently, and the cheapest we hold
$39 10 Dec – 17 Decfound 2 days agoSee prices for these dates
It is also the cheapest return we hold, of any age.
What have prices looked like?
Over 49 days, 24 Sept to 11 Nov, the cheapest return we saw each day was $38 to $55.
Those were the prices on those days, not today's.
Is this a good return price?
Compared with the cheapest return fare on each of 29 departure dates from 17 Nov to 17 Jul 2027, found by travelers' searches in the last 7 days (economy, the price the seller showed on Aviasales). The usual range is the middle half of those prices.
Could nearby dates be cheaper?
No. We hold 7-night return fares on 1 other departure date within 3 days of 10 Dec, and it is not cheaper.
Every date we hold
375 fares on 29 departure dates
See the chart as a table
| Dates | From | Airline | Airports | Stops | Found | |
|---|---|---|---|---|---|---|
| 17 Nov – 12 Dec | $58 | easyJet | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out nonstop, back nonstop | found 5 days ago | See prices for these dates |
| 20 Nov – 22 Nov | $104 | Wizz Air Malta | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out nonstop, back nonstop | found 6 days ago | See prices for these dates |
| 21 Nov – 26 Nov | $104 | Ryanair | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out nonstop, back nonstop | found 2 days ago | See prices for these dates |
| 22 Nov – 26 Nov | $77 | Wizz Air Malta | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out nonstop, back nonstop | found 4 days ago | See prices for these dates |
| 27 Nov – 30 Nov | $107 | Wizz Air Malta | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out nonstop, back nonstop | found 3 days ago | See prices for these dates |
| 5 Dec – 9 Dec | $96 | Ryanair | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | out 1 stop, back nonstop | found 2 days ago | See prices for these dates |
| 8 Dec – 9 Dec | $190 | TAP Air Portugal | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out 1 stop, back nonstop | found 3 days ago | See prices for these dates |
| 10 Dec – 17 Dec | $39 | Ryanair | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | out nonstop, back nonstop | found 2 days ago | See prices for these dates |
| 12 Dec – 19 Dec | $138 | Ryanair | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | out nonstop, back nonstop | found 4 days ago | See prices for these dates |
| 13 Dec – 16 Dec | $77 | easyJet | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | out 1 stop, back nonstop | found 6 days ago | See prices for these dates |
| 16 Dec – 21 Dec | $82 | Malta Air | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | out nonstop, back 1 stop | found 2 days ago | See prices for these dates |
| 17 Dec – 20 Dec | $88 | Malta Air | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | out nonstop, back 1 stop | found 7 days ago | See prices for these dates |
| 18 Dec – 20 Dec | $94 | Ryanair | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | out nonstop, back 1 stop | found 5 days ago | See prices for these dates |
| 25 Dec – 3 Jan 2027 | $131 | Wizz Air Malta | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out nonstop, back nonstop | found 7 days ago | See prices for these dates |
| 29 Dec – 7 Jan 2027 | $60 | easyJet | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out nonstop, back nonstop | found 4 days ago | See prices for these dates |
| 2 Jan 2027 – 9 Jan 2027 | $171 | Vueling | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out 1 stop, back nonstop | found 5 days ago | See prices for these dates |
| 3 Jan 2027 – 10 Jan 2027 | $178 | Air Europa | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out 1 stop, back nonstop | found 5 days ago | See prices for these dates |
| 18 Jan 2027 – 23 Jan 2027 | $49 | Ryanair | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | out nonstop, back nonstop | found 2 days ago | See prices for these dates |
| 19 Jan 2027 – 21 Jan 2027 | $51 | easyJet | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out nonstop, back nonstop | found 2 days ago | See prices for these dates |
| 22 Jan 2027 – 25 Jan 2027 | $55 | Ryanair | Porto Airport (OPO) → Milano Linate Airport (LIN) | out nonstop, back nonstop | found 3 days ago | See prices for these dates |
| 24 Jan 2027 – 27 Jan 2027 | $68 | Ryanair | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out nonstop, back nonstop | found 3 days ago | See prices for these dates |
| 29 Jan 2027 – 31 Jan 2027 | $57 | Ryanair | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out nonstop, back nonstop | found 3 days ago | See prices for these dates |
| 6 Feb 2027 – 9 Feb 2027 | $130 | Ryanair | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out 1 stop, back 1 stop | found 6 days ago | See prices for these dates |
| 7 Feb 2027 – 9 Mar 2027 | $56 | Wizz Air Malta | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out nonstop, back nonstop | found 4 days ago | See prices for these dates |
| 12 Feb 2027 – 14 Feb 2027 | $62 | Ryanair | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out nonstop, back nonstop | found 2 days ago | See prices for these dates |
| 11 Mar 2027 – 14 Mar 2027 | $72 | Wizz Air Malta | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out nonstop, back nonstop | found 2 days ago | See prices for these dates |
| 12 Mar 2027 – 18 Mar 2027 | $61 | Wizz Air Malta | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out nonstop, back nonstop | found 6 days ago | See prices for these dates |
| 10 May 2027 – 26 Jun 2027 | $133 | Vueling | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out 1 stop, back nonstop | found 7 days ago | See prices for these dates |
| 17 Jul 2027 – 25 Jul 2027 | $152 | Vueling | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | out 1 stop, back nonstop | found 5 days ago | See prices for these dates |
Which month looks cheapest?
December 2026 is the cheapest month — from $39.
Airlines on the cheapest dates: Ryanair, Wizz Air Malta, easyJet, Vueling, Malta Air, TAP Air Portugal, Air Europa.
One-way
The cheapest one-way fare on each of 19 departure dates is usually $26 to $40.
Cheapest one-way found recently
$24
20 Feb 2027 · Ryanair
Porto Airport (OPO) → Milano Malpensa Airport (MXP)
Leaves 3:30 p.m. · 2 h 30 min trip
nonstop
found 2 days ago
Cheapest nonstop one-way
$24
20 Feb 2027 · Ryanair
Porto Airport (OPO) → Milano Malpensa Airport (MXP)
Leaves 3:30 p.m. · 2 h 30 min trip
nonstop
found 2 days ago
Every nonstop date from Porto to Milan
Found recently, and the cheapest we hold
$24 20 Feb 2027found 2 days agoOpen this trip
$22 20 Decfound 6 days agoOpen this trip
What have prices looked like?
Over 49 days, 24 Sept to 11 Nov, the cheapest one-way we saw each day was $18 to $24.
At $24, the cheapest one-way found recently is at the high end of that range.
Those were the prices on those days, not today's.
Is this a good one-way price?
Compared with the cheapest one-way fare on each of 19 departure dates from 17 Nov to 24 May 2027, found by travelers' searches in the last 7 days (economy, the price the seller showed on Aviasales). The usual range is the middle half of those prices.
Could nearby dates be cheaper?
We hold no other one-way fares leaving within 3 days of 20 Feb 2027 to compare.
Every date we hold
128 fares on 19 departure dates
See the chart as a table
| Dates | From | Airline | Airports | Stops | Found | |
|---|---|---|---|---|---|---|
| 17 Nov | $40 | easyJet | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | nonstop | found 2 days ago | Open this trip |
| 18 Nov | $39 | easyJet | Porto Airport (OPO) → Milano Linate Airport (LIN) | nonstop | found 6 days ago | Open this trip |
| 20 Nov | $47 | Wizz Air Malta | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | nonstop | found 4 days ago | Open this trip |
| 24 Nov | $29 | easyJet | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | nonstop | found 3 days ago | Open this trip |
| 25 Nov | $36 | Ryanair | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | nonstop | found 7 days ago | Open this trip |
| 26 Nov | $34 | Malta Air | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | nonstop | found 6 days ago | Open this trip |
| 3 Dec | $26 | Ryanair | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | nonstop | found 7 days ago | Open this trip |
| 10 Dec | $26 | Ryanair | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | nonstop | found 5 days ago | Open this trip |
| 20 Dec | $22 | Ryanair | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | nonstop | found 6 days ago | Open this trip |
| 18 Jan 2027 | $23 | Ryanair | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | nonstop | found 3 days ago | Open this trip |
| 22 Jan 2027 | $32 | Wizz Air Malta | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | nonstop | found 5 days ago | Open this trip |
| 23 Jan 2027 | $32 | Ryanair | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | nonstop | found 4 days ago | Open this trip |
| 20 Feb 2027 | $24 | Ryanair | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | nonstop | found 2 days ago | Open this trip |
| 5 Mar 2027 | $24 | Ryanair | Porto Airport (OPO) → Orio al Serio International Airport (BGY) | nonstop | found 4 days ago | Open this trip |
| 13 Mar 2027 | $28 | easyJet | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | nonstop | found 8 days ago | See prices for these dates |
| 14 Mar 2027 | $52 | easyJet | Porto Airport (OPO) → Milano Linate Airport (LIN) | nonstop | found 2 days ago | Open this trip |
| 16 Mar 2027 | $30 | Ryanair | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | nonstop | found 2 days ago | Open this trip |
| 21 Mar 2027 | $64 | Ryanair | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | nonstop | found 3 days ago | Open this trip |
| 24 May 2027 | $59 | Ryanair | Porto Airport (OPO) → Milano Malpensa Airport (MXP) | nonstop | found 6 days ago | Open this trip |
Which month looks cheapest?
December 2026 is the cheapest month — from $22.
Airlines on the cheapest dates: Ryanair, easyJet, Wizz Air Malta, Malta Air.
Premium cabin fares from Porto to Milan
We hold no premium economy, business or first-class fares for this route: we collect them for the busiest routes, and this one is not among them yet.
Today's prices for 10 Dec – 17 Dec in another cabin: Premium economy · Business · First
Today's prices for 20 Feb 2027 in another cabin: Premium economy · Business · First
How far ahead were prices cheapest for Porto to Milan?
Return
Fares 30 to 59 days before departure were typically 61% lower than 0 to 6 days before departure.
From the cheapest return each day between 24 Sept and 11 Nov (49 days), grouped by how many days ahead the flight left; one adult in economy.
Each range covers different departure dates, so this compares typical fares, not the same trip priced twice.
Prices reflect recent searches — current fares may differ.
See these ranges as a table
| Booked ahead by | Typical fare | Cheapest day | Above the cheapest | Days of prices |
|---|---|---|---|---|
| 0–6 days | $121 | $58 | +157% | 34 |
| 7–13 days | $83 | $56 | +77% | 39 |
| 14–29 days | $63 | $39 | +34% | 49 |
| 30–59 days | $47 | $38 | Cheapest seen | 49 |
| 60–89 days | $65 | $49 | +38% | 49 |
| 90–179 days | $59 | $52 | +26% | 49 |
| 180+ days | $105 | $90 | +123% | 36 |
One-way
Fares 30 to 59 days before departure were typically 42% lower than 0 to 6 days before departure.
From the cheapest one-way each day between 24 Sept and 11 Nov (49 days), grouped by how many days ahead the flight left; one adult in economy.
Each range covers different departure dates, so this compares typical fares, not the same trip priced twice.
Prices reflect recent searches — current fares may differ.
See these ranges as a table
| Booked ahead by | Typical fare | Cheapest day | Above the cheapest | Days of prices |
|---|---|---|---|---|
| 0–6 days | $38 | $32 | +73% | 7 |
| 7–13 days | $37 | $24 | +68% | 15 |
| 14–29 days | $24 | $18 | +9% | 49 |
| 30–59 days | $22 | $18 | Cheapest seen | 49 |
| 60–89 days | $24 | $21 | +9% | 49 |
| 90–179 days | $27 | $23 | +23% | 42 |
| 180+ days | $58 | $45 | +164% | 42 |
Could a nearby airport be cheaper?
A different airport at either end can change the fare — sometimes a lot.
One-way
Porto → Turin
125 km from Milan
$38
$14 more than flying to Milan
14 Feb 2027 · OPO → TRN · nonstop
found 7 days ago
Porto → Genoa
119 km from Milan
$146
$122 more than flying to Milan
14 Nov · OPO → GOA · stops unknown
found 3 days ago
Cheapest recent price on each route — one way, per traveler in Economy. Distances are in a straight line.
Live price for these dates
The cheapest return found recently is for 10 Dec – 17 Dec. A live search on this page shows what those dates cost now, for one adult in economy.
Questions about this trip
How much is a return flight from Porto to Milan?
The cheapest return found recently is $39 with Ryanair, 10 Dec to 17 Dec, found 2 days ago. The cheapest return fare on each of 29 departure dates is usually $60 to $130.
How much is a one-way flight from Porto to Milan?
The cheapest one-way found recently is $24 with Ryanair, 20 Feb 2027, found 2 days ago. The cheapest one-way we hold, of any age, is $22 with Ryanair, 20 Dec, found 6 days ago. The cheapest one-way fare on each of 19 departure dates is usually $26 to $40.
What is the cheapest month to fly from Porto to Milan?
December 2026 is the cheapest month for a return, from $39, 10 Dec to 17 Dec, found 2 days ago. It is the cheapest month for a one-way too, from $22, 20 Dec, found 6 days ago.
How far ahead should I book a flight from Porto to Milan?
In 49 days of prices between 24 Sept and 11 Nov, return fares 30 to 59 days before departure were typically 61% lower than 0 to 6 days before departure. One-way fares 30 to 59 days before departure were typically 42% lower than 0 to 6 days before departure.
Is there a direct flight from Porto to Milan?
Yes, the cheapest nonstop return found recently is $39 with Ryanair, 10 Dec to 17 Dec, found 2 days ago. The cheapest nonstop one-way found recently is $24 with Ryanair, 20 Feb 2027, found 2 days ago.
How long is the flight from Porto to Milan?
The cheapest nonstop one-way found recently, with Ryanair on 20 Feb 2027, takes 2 h 30 min from Porto Airport (OPO) to Milano Malpensa Airport (MXP).
Which airlines have the cheapest flights from Porto to Milan?
Between 17 Nov and 17 Jul 2027, Ryanair has the cheapest return on 11 of the 29 departure dates we hold, Wizz Air Malta on 7 and easyJet on 4. Between 17 Nov and 24 May 2027, Ryanair has the cheapest one-way on 11 of the 19 departure dates we hold, easyJet on 5 and Wizz Air Malta on 2.
Prices are what travelers' searches on Aviasales found in the last 7 days, in US dollars: the price the seller showed on Aviasales; bags may cost extra. Fares change, so check today's price before you book. How our prices work