Journey information
Overview: Porto to Milan flight
Flights from Porto to Milan depart on average 84 times per day, taking around 3h 23m. Cheap flight tickets for this journey start at £64 but you can travel from only £61 by coach.
There are 3 flights per day. The earliest flight runs at 02:50, the last at 23:55. The fastest flight covers the 1514 km distance in 2h 20m. April is the cheapest month to fly.
Distance 1514 km |
Average flight duration 3h 23m |
Cheapest ticket price £64 |
Flights per day 84 |
Direct flights 3 |
Fastest flight 2h 20m |
Cheapest month to travel April |
First flight 02:50 |
Last flight 23:55 |
The cheapest and fastest flights from Porto to Milan
Cheapest price
£154
Average price
£472
Fastest journey
2 h 40 m
Average duration
3 h 34 m
Flights per day
95
Distance
1514 km
The best way to find a cheap flight ticket from Porto to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Porto to Milan will cost around £472 if you buy it on the day, but you can find cheap flight tickets today for only £154.
Of the 95 flights that leave Porto for Milan every day 2 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct flights cover the 1514 km distance in an average of 3 h 34 m but if you time it right, some flights will get you there in just 2 h 40 m .
The slowest flights will take 4 h 20 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
TP1925 · TP822
TP1927 · TP822
VY8481 · VY6334
VY8475 · VY6334
VY8481 · VY6336
FR 4637
FR 4041
VY8477 · VY6340
IB5584 · IB5267
IB544 · IB673Travel Information
Compare train, coach and flight for Porto to Milan
Omio recommends booking the flight as it is the most popular option from Porto to Milan among Omio's users. If you are prioritising price take the coach with prices starting from £61. For those with little time consider booking a flight which can get you there in 3h 23m. In case you are seeking to minimise your carbon footprint the coach is your best bet as it emits only 1.5 - 3.8kg. The ticket price range depends on the travel mode: a coach costs an average of £61, and a train costs an average of £359.
Distance: 1514 km
Compare flight with
Most popular Flight | Coach | Train |
|---|---|---|
£149 Average Price | £148 Average Price Cheapest | £367 Average Price |
6h 23m Average total duration Fastest 3h 23m Onboard + 3h 0m Additional time* | 32h 50m Average total duration 32h 20m Onboard + 30m Additional time* | 43h 38m Average total duration 43h 8m Onboard + 30m Additional time* |
4.5 - 9.1kg CO2 emissions | 1.5 - 3.8kg CO2 emissions Lowest | - CO2 emissions |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Live departures
Porto to Milan flight times
The table below shows live departures for Porto to Milan flights for tomorrow, Friday 7 November. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
LH1181+ LH5636 | 06:00 Porto Airport | 6h55 | 12:55 Milan Malpensa Airport | 1 change | |
LH1181+ LH5668 | 06:00 Porto Airport | 5h35 | 11:35 Milan Linate Airport | 1 change | |
LH1785 · LH1868+ LH5114 | 06:30 Porto Airport | 8h40 | 15:10 Milan Linate Airport | 2 changes | |
KL1570 · KL1617 | 06:30 Porto Airport | 12h50 | 19:20 Milan Linate Airport | 1 change | |
KL1570+ KL1619 | 06:30 Porto Airport | 15h25 | 21:55 Milan Linate Airport | 1 change | |
KL1570+ KL1615 | 06:30 Porto Airport | 8h25 | 14:55 Milan Linate Airport | 1 change | |
KL1570+ KL1613 | 06:30 Porto Airport | 26h30 | 09:00 Milan Linate Airport | 1 change | |
LH1785+ LH9448 | 06:30 Porto Airport | 5h05 | 11:35 Milan Malpensa Airport | 1 change | |
UX1144 · UX1065 | 07:35 Porto Airport | 24h45 | 08:20 Milan Malpensa Airport | 1 change | |
IB544 · IB673 | 08:20 Porto Airport | 4h20 | 12:40 Milan Malpensa Airport | 1 change | |
IB544 · IB675 | 08:20 Porto Airport | 9h05 | 17:25 Milan Malpensa Airport | 1 change | |
IB544 · IB665 | 08:20 Porto Airport | 10h20 | 18:40 Milan Linate Airport | 1 change | |
VY8475 · VY6338 | 08:45 Porto Airport | 4h30 | 13:15 Milan Malpensa Airport | 1 change | |
IB5703 · IB5260 | 08:45 Porto Airport | 6h15 | 15:00 Milan Malpensa Airport | 1 change | |
IB5703 · IB5261 | 08:45 Porto Airport | 11h25 | 20:10 Milan Malpensa Airport | 1 change | |
IB5703 · IB5267 | 08:45 Porto Airport | 9h55 | 18:40 Milan Malpensa Airport | 1 change | |
IB5703 · IB5266 | 08:45 Porto Airport | 4h30 | 13:15 Milan Malpensa Airport | 1 change | |
VY8475 · VY6334 | 08:45 Porto Airport | 7h20 | 16:05 Milan Malpensa Airport | 1 change | |
VY8475 · VY6332 | 08:45 Porto Airport | 6h15 | 15:00 Milan Malpensa Airport | 1 change | |
VY8475 · VY6340 | 08:45 Porto Airport | 9h55 | 18:40 Milan Malpensa Airport | 1 change | |
LH6943 · LH6967+ LH9514 | 10:00 Porto Airport | 9h45 | 19:45 Milan Malpensa Airport | 2 changes | |
LH6943 · LH6967+ LH1854 | 10:00 Porto Airport | 7h50 | 17:50 Milan Linate Airport | 2 changes | |
LH6943 · LH6967+ LH5190 | 10:00 Porto Airport | 9h35 | 19:35 Milan Linate Airport | 2 changes | |
TP1923 · TP822 | 10:00 Porto Airport | 24h05 | 10:05 Milan Malpensa Airport | 1 change | |
VY8481 · VY6340 | 10:15 Porto Airport | 8h25 | 18:40 Milan Malpensa Airport | 1 change | |
IB5588 · IB5260 | 10:15 Porto Airport | 4h45 | 15:00 Milan Malpensa Airport | 1 change | |
VY8481 · VY6334 | 10:15 Porto Airport | 5h50 | 16:05 Milan Malpensa Airport | 1 change | |
VY8481 · VY6332 | 10:15 Porto Airport | 4h45 | 15:00 Milan Malpensa Airport | 1 change | |
IB5588 · IB5267 | 10:15 Porto Airport | 8h25 | 18:40 Milan Malpensa Airport | 1 change | |
IB5588 · IB5261 | 10:15 Porto Airport | 9h55 | 20:10 Milan Malpensa Airport | 1 change | |
VY8481 · VY6336 | 10:15 Porto Airport | 9h55 | 20:10 Milan Malpensa Airport | 1 change | |
TP1925 · TP826 | 11:00 Porto Airport | 4h55 | 15:55 Milan Malpensa Airport | 1 change | |
TP1925 · TP822 | 11:00 Porto Airport | 23h05 | 10:05 Milan Malpensa Airport | 1 change | |
KL1572 · KL1617 | 11:15 Porto Airport | 8h05 | 19:20 Milan Linate Airport | 1 change | |
KL1572+ KL1613 | 11:15 Porto Airport | 21h45 | 09:00 Milan Linate Airport | 1 change | |
KL1572+ KL1619 | 11:15 Porto Airport | 10h40 | 21:55 Milan Linate Airport | 1 change | |
KL1572 · KL1597 | 11:15 Porto Airport | 23h45 | 11:00 Milan Linate Airport | 1 change | |
KL1572 · KL1615 | 11:15 Porto Airport | 27h40 | 14:55 Milan Linate Airport | 1 change | |
AF1529 · AF1732 | 11:20 Porto Airport | 10h05 | 21:25 Milan Linate Airport | 1 change | |
AF1529 · AF1630 | 11:20 Porto Airport | 6h30 | 17:50 Milan Malpensa Airport | 1 change | |
AF1529 · AF1230 | 11:20 Porto Airport | 10h40 | 22:00 Milan Malpensa Airport | 1 change | |
AF1529 · AF1730 | 11:20 Porto Airport | 5h05 | 16:25 Milan Malpensa Airport | 1 change | |
AF1529 · AF1830 | 11:20 Porto Airport | 22h15 | 09:35 Milan Malpensa Airport | 1 change | |
AF1529 · AF1012 | 11:20 Porto Airport | 25h35 | 12:55 Milan Linate Airport | 1 change | |
AF1529 · AF1312 | 11:20 Porto Airport | 7h15 | 18:35 Milan Linate Airport | 1 change | |
AF1529 · AF1212 | 11:20 Porto Airport | 20h25 | 07:45 Milan Linate Airport | 1 change | |
AF1529 · AF1412 | 11:20 Porto Airport | 22h55 | 10:15 Milan Linate Airport | 1 change | |
AF1529 · AF1330 | 11:20 Porto Airport | 26h35 | 13:55 Milan Malpensa Airport | 1 change | |
AF1529+ AF1130 | 11:20 Porto Airport | 23h20 | 10:40 Milan Malpensa Airport | 1 change | |
LO4754 · LO410 · LO317 | 11:25 Porto Airport | 21h20 | 08:45 Milan Malpensa Airport | 2 changes | |
LX4593+ LX1622 | 11:25 Porto Airport | 5h55 | 17:20 Milan Malpensa Airport | 1 change | |
UX1146 · UX1065 | 11:35 Porto Airport | 20h45 | 08:20 Milan Malpensa Airport | 1 change | |
LH6991+ LH1779+ LH5190 | 12:00 Porto Airport | 7h35 | 19:35 Milan Linate Airport | 2 changes | |
LH6991+ LH1779+ LH9514 | 12:00 Porto Airport | 7h45 | 19:45 Milan Malpensa Airport | 2 changes | |
TP1927 · TP822 | 12:00 Porto Airport | 22h05 | 10:05 Milan Malpensa Airport | 1 change | |
TP1927 · TP828 | 12:00 Porto Airport | 10h35 | 22:35 Milan Malpensa Airport | 1 change | |
LO4740 · LO426 · LO317 | 12:00 Porto Airport | 20h45 | 08:45 Milan Malpensa Airport | 2 changes | |
LH6991+ LH1169+ LH5638 | 12:00 Porto Airport | 9h00 | 21:00 Milan Malpensa Airport | 2 changes | |
IB546 · IB675 | 12:25 Porto Airport | 5h00 | 17:25 Milan Malpensa Airport | 1 change | |
IB546 · IB667 | 12:25 Porto Airport | 9h35 | 22:00 Milan Linate Airport | 1 change | |
IB546 · IB665 | 12:25 Porto Airport | 6h15 | 18:40 Milan Linate Airport | 1 change | |
LH1177 · LH114+ LH9514 | 12:30 Porto Airport | 7h15 | 19:45 Milan Malpensa Airport | 2 changes | |
LH1177 · LH114+ LH5190 | 12:30 Porto Airport | 7h05 | 19:35 Milan Linate Airport | 2 changes | |
LX2067 · LX1622 | 12:50 Porto Airport | 4h30 | 17:20 Milan Malpensa Airport | 1 change | |
LG3762 · LG6993 | 12:55 Porto Airport | 22h30 | 11:25 Milan Malpensa Airport | 1 change | |
LG3762 · LG6491 | 12:55 Porto Airport | 19h25 | 08:20 Milan Linate Airport | 1 change | |
LG3762 · LG6997 | 12:55 Porto Airport | 6h35 | 19:30 Milan Malpensa Airport | 1 change | |
FR 4041 | 13:20 Porto Airport | 2h40 | 16:00 Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
LH1783+ LH5190 | 13:45 Porto Airport | 5h50 | 19:35 Milan Linate Airport | 1 change | |
LH1783+ LH9514 | 13:45 Porto Airport | 6h00 | 19:45 Milan Malpensa Airport | 1 change | |
TP1929 · TP822 | 14:20 Porto Airport | 19h45 | 10:05 Milan Malpensa Airport | 1 change | |
TP1929 · TP828 | 14:20 Porto Airport | 8h15 | 22:35 Milan Malpensa Airport | 1 change | |
VY8477 · VY6336 | 14:35 Porto Airport | 5h35 | 20:10 Milan Malpensa Airport | 1 change | |
IB5584 · IB5267 | 14:35 Porto Airport | 4h05 | 18:40 Milan Malpensa Airport | 1 change | |
VY8477 · VY6340 | 14:35 Porto Airport | 4h05 | 18:40 Milan Malpensa Airport | 1 change | |
IB5584 · IB5261 | 14:35 Porto Airport | 5h35 | 20:10 Milan Malpensa Airport | 1 change | |
TP1931 · TP822 | 15:55 Porto Airport | 18h10 | 10:05 Milan Malpensa Airport | 1 change | |
TP1931 · TP828 | 15:55 Porto Airport | 6h40 | 22:35 Milan Malpensa Airport | 1 change | |
UX1140 · UX1061 | 16:05 Porto Airport | 24h15 | 16:20 Milan Malpensa Airport | 1 change | |
UX1140 · UX1065 | 16:05 Porto Airport | 16h15 | 08:20 Milan Malpensa Airport | 1 change | |
KL1574+ KL1597 | 16:10 Porto Airport | 18h50 | 11:00 Milan Linate Airport | 1 change | |
KL1574 · KL1619 | 16:10 Porto Airport | 5h45 | 21:55 Milan Linate Airport | 1 change | |
KL1574 · KL1617 | 16:10 Porto Airport | 25h25 | 17:35 Milan Linate Airport | 1 change | |
KL1574 · KL1613 | 16:10 Porto Airport | 16h50 | 09:00 Milan Linate Airport | 1 change | |
KL1574+ KL1615 | 16:10 Porto Airport | 22h45 | 14:55 Milan Linate Airport | 1 change | |
LH1179+ LH5638 | 16:15 Porto Airport | 4h45 | 21:00 Milan Malpensa Airport | 1 change | |
LH1179 · LH278 | 16:15 Porto Airport | 5h30 | 21:45 Milan Linate Airport | 1 change | |
IB1152 · IB667 | 16:40 Porto Airport | 5h20 | 22:00 Milan Linate Airport | 1 change | |
TP1933 · TP822 | 18:00 Porto Airport | 16h05 | 10:05 Milan Malpensa Airport | 1 change | |
LG3768 · LG6993 | 19:35 Porto Airport | 15h50 | 11:25 Milan Malpensa Airport | 1 change | |
LG3768 · LG6491 | 19:35 Porto Airport | 12h45 | 08:20 Milan Linate Airport | 1 change | |
TP1935 · TP822 | 20:05 Porto Airport | 14h00 | 10:05 Milan Malpensa Airport | 1 change | |
UX1142 · UX1065 | 20:10 Porto Airport | 12h10 | 08:20 Milan Malpensa Airport | 1 change | |
UX1142 · UX1061 | 20:10 Porto Airport | 20h10 | 16:20 Milan Malpensa Airport | 1 change | |
FR 4637 | 20:40 Porto Airport | 2h40 | 23:20 Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
Find all the dates and times for this journey
How far in advance should I book flight tickets from Porto to Milan?
Compare prices and tickets Porto to Milan by train, coach or flight
Compare train, coach and flight prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
07 Nov
08 Nov
09 Nov
10 Nov
11 Nov
12 Nov
13 Nov
14 Nov
15 Nov
16 Nov
17 Nov
18 Nov
19 Nov
20 Nov
21 Nov
22 Nov
23 Nov
24 Nov
25 Nov
26 Nov
27 Nov
Airlines: Ryanair, easyJet, KM Malta Airlines, Vueling Airlines, Wizz Air, Air Europa, TAP Portugal, Iberia, SWISS, Lufthansa from Porto to MilanFind the best flights between Porto to Milan with Omio's travel partners Ryanair, easyJet, KM Malta Airlines, Vueling Airlines, Wizz Air, Air Europa, TAP Portugal, Iberia, SWISS, Lufthansa from £61. We can find you the best deals, schedules and tickets when comparing and booking the best trip.
SWISS
Lufthansa
Vueling Airlines
Air Europa
TAP Portugal
Iberia
easyJet
KM Malta Airlines
Ryanair
Wizz Air
FAQs: Porto to Milan flights
Find answers to the most common questions about traveling from Porto to Milan by flight. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest flight, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

Flights from Porto to Milan generally leave from Porto Airport and arrive in Milan Malpensa Airport.
Porto Airport is 17.1 km away from Porto city centre and Milan Malpensa Airport is 48 km from Milan city centre.
Typically, passengers are allowed one carry-on bag and one personal item (for example a purse, laptop bag, or backpack). Personal items must fit under the seat in front of you.
Budget Airlines (like Ryanair or Wizz Air) have stricter size and weight limits, often requiring fees for larger carry-ons. Full-Service Airlines have more lenient policies, sometimes including more spacious dimensions or higher weight limits depending on your ticket class.
popular airports
Important Stations and Airports in Porto and Milan
- Free Wi-Fi available throughout the airport.
- Shops in the main terminal, including duty-free and local brands.
- Short-term and long-term parking available, approximately 1.2€ per hour.
- Available outside the terminal.
- Elevators, ramps.
- Available throughout the airport.
- No
- Lounges available, including ANA Lounge.
- Located in the arrivals area.
- Metro: Line E
- Bus: 601, 602, 604, 3M
- Free Wi-Fi available throughout the airport.
- Shops available, including duty-free and fashion stores, located in the departures area.
- Parking available near the terminal, approximately 3€ per hour.
- Available outside the terminal.
- Elevators, ramps.
- Available throughout the airport.
- Yes
- Lounge available, with access for a fee or membership.
- Located in the arrivals area.
- Bus: Line 1, Line 5
- Train: NA
- Metro: NA
- Free Wi-Fi available throughout the airport.
- Shops available in both terminals, including duty-free and fashion brands like Gucci and Prada.
- Parking available at Terminal 1 and Terminal 2, approximately 2.5€ per hour.
- Available outside the terminal.
- Elevators, ramps.
- Available throughout the airport.
- Yes
- Lounges available in Terminal 1, including Sala Montale and Club SEA.
- Located in both terminals, near baggage claim.
- Train: Malpensa Express
- Bus: Terravision, Autostradale, Malpensa Shuttle
- Free Wi-Fi available throughout the airport.
- Shops available, including Duty-Free and WHSmith, located in the departures area.
- Parking available in P1, P2, and P3 lots, approximately 2.5€ per hour.
- Available outside the terminal.
- Ramps, assistance.
- Available throughout the airport.
- Yes
- Lounge available, Sala Leonardo Lounge, access with membership or fee.
- Located in the arrivals area, near baggage claim.
- Bus 73
- Bus X73
Most popular flights from Porto
More options for your journey from Porto to Milan
Here are some other resources that might have the information you need












