The cheapest and fastest flights from Milan to Porto
- Cheapest price on 13 Nov
- ฿ 2,881
- Average ticket price on 13 Nov
- ฿ 17,511
- Fastest journey on 13 Nov
- 2 h 40 m
- Average journey duration on 13 Nov
- 2 h 43 m
- Flights on 13 Nov
- 94
- Distance
- 1514 km
The best way to find a cheap flight ticket from Milan to Porto is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Milan to Porto will cost around ฿ 17,511 if you buy it on the day, but you can find cheap flight tickets today for only ฿ 2,881.
On Fri, 13 Nov, we found 94 flights from Milan to Porto, including 5 direct services.
These direct flights cover the 1514 km distance in an average of 2 h 43 m but if you time it right, some flights will get you there in just 2 h 40 m .
The slowest flights will take 2 h 50 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.
FR 404210:10 PM 2h40 Milan Bergamo Orio al Serio Airport 11:50 PM Porto Airport ฿ 2,881 1 One-way 0 changes
TP827 · TP19205:45 PM 14h45 Milan Malpensa Airport 7:30 AM Porto Airport ฿ 3,744 1 One-way 1 change
TP827 · TP19385:45 PM 7h45 Milan Malpensa Airport 12:30 AM Porto Airport ฿ 3,744 1 One-way 1 change
W463355:15 PM 2h50 Milan Malpensa Airport 7:05 PM Porto Airport ฿ 3,798 1 One-way 0 changes
FR 463810:55 AM 2h40 Milan Bergamo Orio al Serio Airport 12:35 PM Porto Airport ฿ 4,050 1 One-way 0 changes
FR 463810:55 AM 2h40 Milan Bergamo Orio al Serio Airport 12:35 PM Porto Airport ฿ 4,050 1 One-way 0 changes
FR 40188:45 PM 2h40 Milan Malpensa Airport 10:25 PM Porto Airport ฿ 5,837 1 One-way 0 changes
FR 404210:10 PM 2h40 Milan Bergamo Orio al Serio Airport 11:50 PM Porto Airport ฿ 2,881 1 One-way 0 changes
U2544711:20 AM 2h45 Milan Linate Airport 1:05 PM Porto Airport ฿ 4,340 1 One-way 0 changes
W463355:15 PM 2h50 Milan Malpensa Airport 7:05 PM Porto Airport ฿ 3,798 1 One-way 0 changes
Journey information
Overview: Milan to Porto flight
Flights from Milan to Porto depart on average 87 times per day, taking around 4h 11m. Cheap flight tickets for this journey start at ฿ 636 but you can travel from only ฿ 561 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 35m. September is the cheapest month to fly.
Distance 1514 km |
Average flight duration 4h 11m |
Cheapest ticket price ฿ 636 |
Flights per day 87 |
Direct flights 3 |
Fastest flight 2h 35m |
First flight 2:50 AM |
Last flight 11:55 PM |
Cheapest Month Sept |
Cheapest Day Tue |
High Season Jul - Sept |
Low Season Jan - Mar |
Busiest Day Tue |
Least Busy Day Wed |
Best time to book 77 days |
Frequently asked questions about your Milan to Porto trip
Use these quick route answers to check fares, travel time, departure options, and direct services before booking from Milan to Porto.
Live departures
Milan to Porto flight times
The table below shows live departures for Milan to Porto flights for today, Thursday, 12 November. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
IB804 · IB1151 | 6:20 AM Milan Malpensa Airport | 10h40 | 4:00 PM Porto Airport | 1 change | |
TP829 · TP1926 | 6:20 AM Milan Malpensa Airport | 8h10 | 1:30 PM Porto Airport | 1 change | |
IB804 · IB545 | 6:20 AM Milan Malpensa Airport | 6h25 | 11:45 AM Porto Airport | 1 change | |
FR 4042 | 6:25 AM Milan Bergamo Orio al Serio Airport | 2h40 | 8:05 AM Porto Airport | 0 changesdirect | |
KL1612+ KL2607 | 6:30 AM Milan Linate Airport | 13h50 | 7:20 PM Porto Airport | 1 change | |
AF1733 · AF1528 | 6:30 AM Milan Linate Airport | 5h05 | 10:35 AM Porto Airport | 1 change | |
KL1612 · KL1577 | 6:30 AM Milan Linate Airport | 17h00 | 10:30 PM Porto Airport | 1 change | |
AF1733 · AF1516 | 6:30 AM Milan Linate Airport | 16h30 | 10:00 PM Porto Airport | 1 change | |
AF1231 · AF1528 | 6:30 AM Milan Malpensa Airport | 5h05 | 10:35 AM Porto Airport | 1 change | |
KL1612 · KL1573 | 6:30 AM Milan Linate Airport | 9h55 | 3:25 PM Porto Airport | 1 change | |
AF1231 · AF1516 | 6:30 AM Milan Malpensa Airport | 16h30 | 10:00 PM Porto Airport | 1 change | |
LH5639+ LH1166+ LH6968 | 6:55 AM Milan Malpensa Airport | 9h05 | 3:00 PM Porto Airport | 2 changes | |
LH5639+ LH1174 | 6:55 AM Milan Malpensa Airport | 5h50 | 11:45 AM Porto Airport | 1 change | |
TK1878 · TK1451 | 6:55 AM Milan Malpensa Airport | 9h30 | 3:25 PM Porto Airport | 1 change | |
TK1878 · TK1449 | 6:55 AM Milan Malpensa Airport | 28h00 | 9:55 AM Porto Airport | 1 change | |
TK1878 · TK1759+ TK8140 | 6:55 AM Milan Malpensa Airport | 12h05 | 6:00 PM Porto Airport | 2 changes | |
LH5639+ LH1168+ LH6970 | 6:55 AM Milan Malpensa Airport | 11h05 | 5:00 PM Porto Airport | 2 changes | |
SN4164+ SN3811 | 7:00 AM Milan Linate Airport | 5h50 | 11:50 AM Porto Airport | 1 change | |
BA577+ BA2666 | 7:25 AM Milan Linate Airport | 10h25 | 4:50 PM Porto Airport | 1 change | |
BA577+ BA7055+ IB1151 | 7:25 AM Milan Linate Airport | 9h35 | 4:00 PM Porto Airport | 2 changes | |
BA577 · BA462+ IB1151 | 7:25 AM Milan Linate Airport | 9h35 | 4:00 PM Porto Airport | 2 changes | |
IB668 · IB1151 | 7:55 AM Milan Linate Airport | 9h05 | 4:00 PM Porto Airport | 1 change | |
IB668 · IB549 | 7:55 AM Milan Linate Airport | 13h05 | 8:00 PM Porto Airport | 1 change | |
IB668 · IB545 | 7:55 AM Milan Linate Airport | 4h50 | 11:45 AM Porto Airport | 1 change | |
EW9841 · EW9640 | 8:55 AM Milan Linate Airport | 6h05 | 2:00 PM Porto Airport | 1 change | |
VY6041 · VY1180 | 10:10 AM Milan Malpensa Airport | 10h15 | 7:25 PM Porto Airport | 1 change | |
VY6041 · VY1182 | 10:10 AM Milan Malpensa Airport | 12h05 | 9:15 PM Porto Airport | 1 change | |
IB5353 · IB5094 | 10:10 AM Milan Malpensa Airport | 10h15 | 7:25 PM Porto Airport | 1 change | |
IB5353 · IB5096 | 10:10 AM Milan Malpensa Airport | 12h05 | 9:15 PM Porto Airport | 1 change | |
IB672 · IB549 | 10:15 AM Milan Malpensa Airport | 10h45 | 8:00 PM Porto Airport | 1 change | |
IB672 · IB1151 | 10:15 AM Milan Malpensa Airport | 6h45 | 4:00 PM Porto Airport | 1 change | |
UX1066 · UX1147 | 10:20 AM Milan Malpensa Airport | 21h25 | 6:45 AM Porto Airport | 1 change | |
UX1066 · UX1141 | 10:20 AM Milan Malpensa Airport | 10h00 | 7:20 PM Porto Airport | 1 change | |
UX1066 · UX1143 | 10:20 AM Milan Malpensa Airport | 5h55 | 3:15 PM Porto Airport | 1 change | |
U23881 | 10:45 AM Milan Malpensa Airport | 2h45 | 12:30 PM Porto Airport | 0 changesdirect | |
KL1614+ KL2607 | 10:55 AM Milan Linate Airport | 9h25 | 7:20 PM Porto Airport | 1 change | |
KL1614 · KL1573 | 10:55 AM Milan Linate Airport | 5h30 | 3:25 PM Porto Airport | 1 change | |
KL1614 · KL1577 | 10:55 AM Milan Linate Airport | 12h35 | 10:30 PM Porto Airport | 1 change | |
AF1831 · AF1528 | 11:00 AM Milan Malpensa Airport | 24h35 | 10:35 AM Porto Airport | 1 change | |
AF1831 · AF1516 | 11:00 AM Milan Malpensa Airport | 12h00 | 10:00 PM Porto Airport | 1 change | |
TK1874 · TK1779+ TK8120 | 11:05 AM Milan Malpensa Airport | 23h55 | 10:00 AM Porto Airport | 2 changes | |
TK1874 · TK1451 | 11:05 AM Milan Malpensa Airport | 29h20 | 3:25 PM Porto Airport | 1 change | |
TK1874 · TK1449 | 11:05 AM Milan Malpensa Airport | 23h50 | 9:55 AM Porto Airport | 1 change | |
FR 8952 | 11:10 AM Milan Malpensa Airport | 2h40 | 12:50 PM Porto Airport | 0 changesdirect | |
LH247 · LH1176 | 11:20 AM Milan Malpensa Airport | 5h00 | 3:20 PM Porto Airport | 1 change | |
U25447 | 11:20 AM Milan Linate Airport | 2h40 | 1:00 PM Porto Airport | 0 changesdirect | |
BA567 · BA464+ IB549 | 11:25 AM Milan Linate Airport | 9h35 | 8:00 PM Porto Airport | 2 changes | |
IB664 · IB1151 | 11:35 AM Milan Linate Airport | 5h25 | 4:00 PM Porto Airport | 1 change | |
IB664 · IB549 | 11:35 AM Milan Linate Airport | 9h25 | 8:00 PM Porto Airport | 1 change | |
TP823 · TP1930 | 11:55 AM Milan Malpensa Airport | 6h05 | 5:00 PM Porto Airport | 1 change | |
TP823 · TP1932 | 11:55 AM Milan Malpensa Airport | 7h05 | 6:00 PM Porto Airport | 1 change | |
TP823 · TP1934 | 11:55 AM Milan Malpensa Airport | 8h05 | 7:00 PM Porto Airport | 1 change | |
BA583 · BA466+ IB549 | 12:20 PM Milan Malpensa Airport | 8h40 | 8:00 PM Porto Airport | 2 changes | |
AF1413 · AF1516 | 12:20 PM Milan Linate Airport | 10h40 | 10:00 PM Porto Airport | 1 change | |
AF1131 · AF1528 | 12:40 PM Milan Malpensa Airport | 22h55 | 10:35 AM Porto Airport | 1 change | |
BA569 · BA466+ IB549 | 12:40 PM Milan Linate Airport | 8h20 | 8:00 PM Porto Airport | 2 changes | |
AF1131 · AF1516 | 12:40 PM Milan Malpensa Airport | 10h20 | 10:00 PM Porto Airport | 1 change | |
KL1598 · KL1577 | 1:00 PM Milan Linate Airport | 10h30 | 10:30 PM Porto Airport | 1 change | |
KL1598+ KL2607 | 1:00 PM Milan Linate Airport | 7h20 | 7:20 PM Porto Airport | 1 change | |
KL1598 · KL1571 | 1:00 PM Milan Linate Airport | 22h30 | 10:30 AM Porto Airport | 1 change | |
VY6043 · VY1182 | 1:10 PM Milan Malpensa Airport | 9h05 | 9:15 PM Porto Airport | 1 change | |
VY6043 · VY1180 | 1:10 PM Milan Malpensa Airport | 7h15 | 7:25 PM Porto Airport | 1 change | |
IB5355 · IB5096 | 1:10 PM Milan Malpensa Airport | 9h05 | 9:15 PM Porto Airport | 1 change | |
IB5355 · IB5094 | 1:10 PM Milan Malpensa Airport | 7h15 | 7:25 PM Porto Airport | 1 change | |
LH9449+ LH6992 · LH5876 | 1:10 PM Milan Malpensa Airport | 12h20 | 12:30 AM Porto Airport | 2 changes | |
FR 4638 | 1:20 PM Milan Bergamo Orio al Serio Airport | 2h40 | 3:00 PM Porto Airport | 0 changesdirect | |
IB674 · IB549 | 2:25 PM Milan Malpensa Airport | 6h35 | 8:00 PM Porto Airport | 1 change | |
TK1896 · TK1451 | 2:35 PM Milan Malpensa Airport | 25h50 | 3:25 PM Porto Airport | 1 change | |
TK1896 · TK1449 | 2:35 PM Milan Malpensa Airport | 20h20 | 9:55 AM Porto Airport | 1 change | |
TK1896 · TK1779+ TK8120 | 2:35 PM Milan Malpensa Airport | 20h25 | 10:00 AM Porto Airport | 2 changes | |
AF1013 · AF1528 | 2:55 PM Milan Linate Airport | 20h40 | 10:35 AM Porto Airport | 1 change | |
AF1013 · AF1516 | 2:55 PM Milan Linate Airport | 8h05 | 10:00 PM Porto Airport | 1 change | |
VY6045 · VY1182 | 3:10 PM Milan Malpensa Airport | 7h05 | 9:15 PM Porto Airport | 1 change | |
VY6045 · VY1180 | 3:10 PM Milan Malpensa Airport | 5h15 | 7:25 PM Porto Airport | 1 change | |
IB5357 · IB5096 | 3:10 PM Milan Malpensa Airport | 7h05 | 9:15 PM Porto Airport | 1 change | |
IB5357 · IB5094 | 3:10 PM Milan Malpensa Airport | 5h15 | 7:25 PM Porto Airport | 1 change | |
UX1060 · UX1145 | 3:50 PM Milan Malpensa Airport | 20h00 | 10:50 AM Porto Airport | 1 change | |
UX1060 · UX1147 | 3:50 PM Milan Malpensa Airport | 15h55 | 6:45 AM Porto Airport | 1 change | |
AF1331 · AF1516 | 3:55 PM Milan Malpensa Airport | 7h05 | 10:00 PM Porto Airport | 1 change | |
AF1331 · AF1528 | 3:55 PM Milan Malpensa Airport | 19h40 | 10:35 AM Porto Airport | 1 change | |
KL1616 · KL1571 | 4:50 PM Milan Linate Airport | 18h40 | 10:30 AM Porto Airport | 1 change | |
KL1616 · KL1577 | 4:50 PM Milan Linate Airport | 6h40 | 10:30 PM Porto Airport | 1 change | |
VY6047 · VY1182 | 5:20 PM Milan Malpensa Airport | 4h55 | 9:15 PM Porto Airport | 1 change | |
W46335 | 5:20 PM Milan Malpensa Airport | 2h50 | 7:10 PM Porto Airport | 0 changesdirect | |
LH277+ LH1178 | 5:50 PM Milan Linate Airport | 5h35 | 10:25 PM Porto Airport | 1 change | |
UX1062 · UX1145 | 6:20 PM Milan Malpensa Airport | 17h30 | 10:50 AM Porto Airport | 1 change | |
UX1062 · UX1147 | 6:20 PM Milan Malpensa Airport | 13h25 | 6:45 AM Porto Airport | 1 change | |
UX1062 · UX1143 | 6:20 PM Milan Malpensa Airport | 21h55 | 3:15 PM Porto Airport | 1 change | |
AF1731 · AF1528 | 6:30 PM Milan Malpensa Airport | 17h05 | 10:35 AM Porto Airport | 1 change | |
TK1876 · TK1449 | 6:50 PM Milan Malpensa Airport | 16h05 | 9:55 AM Porto Airport | 1 change | |
TK1876 · TK1451 | 6:50 PM Milan Malpensa Airport | 21h35 | 3:25 PM Porto Airport | 1 change | |
IB676 · IB543 | 7:10 PM Milan Malpensa Airport | 13h30 | 7:40 AM Porto Airport | 1 change | |
LX2816 · LX2078+ LX1623 | 7:20 PM Milan Malpensa Airport | 13h35 | 7:55 AM Porto Airport | 2 changes | |
LH1889 · LH1784 | 7:35 PM Milan Linate Airport | 5h20 | 11:55 PM Porto Airport | 1 change | |
AF1313 · AF1528 | 8:25 PM Milan Linate Airport | 15h10 | 10:35 AM Porto Airport | 1 change | |
IB666 · IB543 | 8:25 PM Milan Linate Airport | 12h15 | 7:40 AM Porto Airport | 1 change | |
KL1618 · KL1573 | 9:20 PM Milan Linate Airport | 19h05 | 3:25 PM Porto Airport | 1 change | |
KL1618+ KL2762 | 9:20 PM Milan Linate Airport | 20h45 | 5:05 PM Porto Airport | 1 change | |
KL1618 · KL1571 | 9:20 PM Milan Linate Airport | 14h10 | 10:30 AM Porto Airport | 1 change | |
VY6055 · VY1170 | 10:30 PM Milan Malpensa Airport | 10h40 | 8:10 AM Porto Airport | 1 change | |
IB5367 · IB5226 | 10:30 PM Milan Malpensa Airport | 12h05 | 9:35 AM Porto Airport | 1 change | |
IB5367 · IB5195 | 10:30 PM Milan Malpensa Airport | 10h40 | 8:10 AM Porto Airport | 1 change | |
VY6057 · VY1174 | 11:20 PM Milan Malpensa Airport | 11h15 | 9:35 AM Porto Airport | 1 change | |
VY6057 · VY1170 | 11:20 PM Milan Malpensa Airport | 9h50 | 8:10 AM Porto Airport | 1 change | |
IB5369 · IB5226 | 11:20 PM Milan Malpensa Airport | 11h15 | 9:35 AM Porto Airport | 1 change | |
IB5369 · IB5195 | 11:20 PM Milan Malpensa Airport | 9h50 | 8:10 AM Porto Airport | 1 change | |
This is the last flight of the day. | |||||
Find all the dates and times for this journey
How far in advance should I book flight tickets from Milan to Porto?
Why should you book Milan to Porto flights with Omio?
Why book with Omio vs Ryanair?
- Compare with other providers: On Omio, you can not only buy tickets for Ryanair, but also compare tickets for the likes of Malta Air, easyJet, Vueling or Iberia to find the best option for your trip from Milan to Porto.
- Designed for International Travelers: Omio is in your language including 24/7 customer service and offers multiple payment options, including PayPal, credit cards, and bank transfer, in your preferred currency.
- Compare all your options: Omio allows you to compare Ryanair with all available travel options, which are bus and flight to ensure you get the best deal for traveling from Milan to Porto.
Why book with Omio over Edreams, Kayak or Skyscanner?
- Compare with other providers: On Omio, you can also compare tickets for the likes of Malta Air, easyJet, Vueling or Iberia to find the best option for your trip from Milan to Porto.
- Multiple modes of transport: Omio allows you to compare travel options including bus and flight to find the ideal travel option from Milan to Porto.
Airlines: Air France, TAP Portugal, Lufthansa, Vueling, Iberia, KLM, Air Europa, KLM Cityhopper, BA Euroflyer, Swiss from Milan to PortoFind the best flights between Milan to Porto with Omio's travel partners Air France, TAP Portugal, Lufthansa, Vueling, Iberia, KLM, Air Europa, KLM Cityhopper, BA Euroflyer, Swiss from ฿ 561. We can find you the best deals, schedules and tickets when comparing and booking the best trip.
Air France
Lufthansa
Swiss
TAP Portugal
Vueling
Iberia
KLM
Air Europa
KLM Cityhopper
BA Euroflyer
Companies, tickets, and onboard amenities between Milan and Porto
Review the details behind your booking, from operators and ticket rules to luggage, onboard amenities, accessibility, and route-specific travel policies.
FAQs: Milan to Porto flights
Find answers to the most common questions about traveling from Milan to Porto 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 Porto, this guide helps you travel smarter and with confidence.

popular airports
Important Stations and Airports in Milan and Porto
Most Milan to Porto flights use the Milan Malpensa Airport to Porto Airport airport pair. Use this guide to compare Milan and Porto airports on this route, check city-centre transport, alongside checking practicalities like airport facilities and services.
Which Milan airport do flights to Porto leave from?
Getting to Milan Malpensa Airport from Milan city centre
Milan Malpensa Airport is 2 km from Milan city centre. Public transport options include:
Milan Malpensa Airport airport facilities and services
Milan Malpensa Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge and Lost and Found Office.
Wi-Fi and ATMs
Free Wi-Fi available throughout the airport. ATMs are located in both terminals, near check-inas and gates.
Luggage and lost property
Lost and found is available at the station.
Parking, taxis and toilets
Available at Milan Malpensa Airport: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Milan Malpensa Airport: Elevators, ramps.
Getting to Milan Linate Airport from Milan city centre
Milan Linate Airport is 6 km from Milan city centre. Public transport options include:
Milan Linate Airport airport facilities and services
Milan Linate Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge and Lost and Found Office.
Wi-Fi and ATMs
Free Wi-Fi available throughout the airport. ATMs are located in the arrivals and departures areas.
Luggage and lost property
Lost and found is available at the station.
Parking, taxis and toilets
Available at Milan Linate Airport: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Milan Linate Airport: Ramps, assistance.
Getting to Milan Bergamo Orio al Serio Airport from Milan city centre
Milan Bergamo Orio al Serio Airport is 1 km from Milan city centre. Public transport options include:
Milan Bergamo Orio al Serio Airport airport facilities and services
Milan Bergamo Orio al Serio Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge and Lost and Found Office.
Wi-Fi and ATMs
Free Wi-Fi available throughout the airport. ATMs are located in the arrivals and departures areas.
Luggage and lost property
Lost and found is available at the station.
Parking, taxis and toilets
Available at Milan Bergamo Orio al Serio Airport: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Milan Bergamo Orio al Serio Airport: Elevators, ramps.
Which Porto airport do flights from Milan arrive at?
Getting to Porto Airport from Porto city centre
Porto Airport is 1 km from Porto city centre. Public transport options include:
Porto Airport airport facilities and services
Porto Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge and Lost and Found Office.
Wi-Fi and ATMs
Free Wi-Fi available throughout the airport. ATMs are located in arrivals and departures.
Luggage and lost property
Lost and found is available at the station.
Parking, taxis and toilets
Available at Porto Airport: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Porto Airport: Elevators, ramps.
More options for your journey from Milan to Porto
Here are some other resources that might have the information you need


















