- Must visit
Serralves Museum
Contemporary art museum in a landmark Álvaro Siza building with major Portuguese and international exhibitions and a superb surrounding park.
Flights from Milan to Porto depart on average 94 times per day, taking around 4h 6m. Cheap flight tickets for this journey start at $23 (€19) but you can travel from only $18 (€15) by bus.
There are 3 flights per day. The earliest flight runs at 02:50, the last at 23:55. The fastest flight covers the 940 miles (1514 km) distance in 2h 25m. July is the cheapest month to fly.
Distance 940 miles (1514 km) |
Average flight duration 4h 6m |
Cheapest ticket price $23 (€19) |
Flights per day 94 |
Direct flights 3 |
Fastest flight 2h 25m |
First flight 2:50 AM |
Last flight 11:55 PM |
Cheapest Month Jul |
Cheapest Day Sat |
High Season Jul - Sep |
Low Season Jan - Mar |
Busiest Day Tue |
Least Busy Day Wed |
Best time to book 77 days |
Cheapest price on Aug 30
$100
Average ticket price on Aug 30
$474
Fastest journey on Aug 30
2 h 40 m
Average journey duration on Aug 30
3 h 5 m
Flights on Aug 30
97
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 traveling at rush hour.
The average ticket from Milan to Porto will cost around $474 if you buy it on the day, but the cheapest tickets can be found for only $100.
On Sun, Aug 30, we found 97 flights from Milan to Porto, including 4 direct services.
On Sun, Aug 30 the direct flights cover the 1514 km distance in an average of 3 h 5 m but if you time it right, some flights will get you there in just 2 h 40 m .
On Sun, Aug 30 the longest flights will take 4 h 35 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 4018
U25453
TP829 · TP1928
TP829 · TP1930
VY6331 · VY8478
FR 4018
U25453
FR 4042
FR 4638
UX1060 · UX1141Omio recommends booking the flight as it is the most popular option from Milan to Porto among Omio's users. If you are prioritising price, take the bus, with an average ticket price of $165 For those with little time, consider booking a flight, which has an average total journey time of 6h 6m. If you are seeking to minimise your carbon footprint, the bus is your best option, with estimated CO2 emissions of 1.5 - 3.8kg. Average ticket prices depend on the travel mode: a bus costs an average of $165, while a flight costs an average of $408.
Distance: 940 miles (1514 km)
Most popular Flight | Bus | Driving |
|---|---|---|
$408 Average price | $165 Average price Cheapest | $578 Average price (fuel + tolls) |
6h 6m Average total duration Fastest 4h 6m Onboard + 2h 0m Additional time* | 32h 47m Average total duration 32h 17m Onboard + 30m Additional time* | 19h 27m Average total duration (door-to-door) |
4.5 - 9.1kg CO2 emissions | 1.5 - 3.8kg CO2 emissions Lowest | - CO2 emissions |
![]() Most popular airline | ![]() Most popular bus company | Your own car or car rental |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
This is compared to other travel options from Milan to Porto:
A bus is $243 (€197) less than a flight for this route with tickets for a flight from Milan to Porto costing on average $408 (€331).
Other travel options to Porto take longer:
Bus takes on average 32h 17m.
The table below shows live departures for Milan to Porto flights for today, Saturday, August 29. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
IB664 · IB1151 | 11:40 AM Milan Linate Airport | 5h20 | 4:00 PM Porto Airport | 1 transfer | |
IB664 · IB1153 | 11:40 AM Milan Linate Airport | 9h20 | 8:00 PM Porto Airport | 1 transfer | |
IB672 · IB1151 | 11:55 AM Milan Malpensa Airport | 5h05 | 4:00 PM Porto Airport | 1 transfer | |
IB672 · IB1153 | 11:55 AM Milan Malpensa Airport | 9h05 | 8:00 PM Porto Airport | 1 transfer | |
AF1331 · AF1516 | 12:00 PM Milan Malpensa Airport | 11h05 | 10:05 PM Porto Airport | 1 transfer | |
AF1331 · AF1428 | 12:00 PM Milan Malpensa Airport | 21h25 | 8:25 AM Porto Airport | 1 transfer | |
AF1331 · AF1470 | 12:00 PM Milan Malpensa Airport | 7h15 | 6:15 PM Porto Airport | 1 transfer | |
AF1413 · AF1516 | 12:20 PM Milan Linate Airport | 10h45 | 10:05 PM Porto Airport | 1 transfer | |
AF1413 · AF1470 | 12:20 PM Milan Linate Airport | 6h55 | 6:15 PM Porto Airport | 1 transfer | |
AF1413 · AF1428 | 12:20 PM Milan Linate Airport | 21h05 | 8:25 AM Porto Airport | 1 transfer | |
BA583 · BA462+ IB1153 | 12:25 PM Milan Malpensa Airport | 8h35 | 8:00 PM Porto Airport | 2 transfers | |
KL1616 · KL1577 | 1:00 PM Milan Linate Airport | 10h15 | 10:15 PM Porto Airport | 1 transfer | |
VY6343 · VY8480 | 1:55 PM Milan Malpensa Airport | 8h25 | 9:20 PM Porto Airport | 1 transfer | |
IB5547 · IB5644 | 1:55 PM Milan Malpensa Airport | 8h25 | 9:20 PM Porto Airport | 1 transfer | |
IB670 · IB1153 | 2:45 PM Milan Linate Airport | 6h15 | 8:00 PM Porto Airport | 1 transfer | |
AF1013 · AF1516 | 2:55 PM Milan Linate Airport | 8h10 | 10:05 PM Porto Airport | 1 transfer | |
AF1013 · AF1428 | 2:55 PM Milan Linate Airport | 18h30 | 8:25 AM Porto Airport | 1 transfer | |
LH275 · LH1180 | 3:20 PM Milan Linate Airport | 8h25 | 10:45 PM Porto Airport | 1 transfer | |
VY6341 · VY8480 | 3:30 PM Milan Malpensa Airport | 6h50 | 9:20 PM Porto Airport | 1 transfer | |
IB5545 · IB5644 | 3:30 PM Milan Malpensa Airport | 6h50 | 9:20 PM Porto Airport | 1 transfer | |
FR 6856 | 3:30 PM Milan Bergamo Orio al Serio Airport | 2h45 | 5:15 PM Porto Airport | 0 transfersDirect | |
UX1060 · UX1145 | 3:45 PM Milan Malpensa Airport | 20h05 | 10:50 AM Porto Airport | 1 transfer | |
UX1060 · UX1147 | 3:45 PM Milan Malpensa Airport | 16h05 | 6:50 AM Porto Airport | 1 transfer | |
UX1060 · UX1141 | 3:45 PM Milan Malpensa Airport | 4h35 | 7:20 PM Porto Airport | 1 transfer | |
KL1618 · KL1577 | 4:50 PM Milan Linate Airport | 6h25 | 10:15 PM Porto Airport | 1 transfer | |
KL1618 · KL1571 | 4:50 PM Milan Linate Airport | 19h05 | 10:55 AM Porto Airport | 1 transfer | |
TP825 · TP1920 | 5:55 PM Milan Malpensa Airport | 14h55 | 7:50 AM Porto Airport | 1 transfer | |
TP825 · TP1936 | 5:55 PM Milan Malpensa Airport | 6h00 | 10:55 PM Porto Airport | 1 transfer | |
TP825 · TP1938 | 5:55 PM Milan Malpensa Airport | 7h45 | 12:40 AM Porto Airport | 1 transfer | |
LH277+ LH1180 | 6:10 PM Milan Linate Airport | 5h35 | 10:45 PM Porto Airport | 1 transfer | |
UX1062 · UX1147 | 6:15 PM Milan Malpensa Airport | 13h35 | 6:50 AM Porto Airport | 1 transfer | |
UX1062 · UX1145 | 6:15 PM Milan Malpensa Airport | 17h35 | 10:50 AM Porto Airport | 1 transfer | |
UX1062 · UX1143 | 6:15 PM Milan Malpensa Airport | 22h00 | 3:15 PM Porto Airport | 1 transfer | |
VY6335 · VY8476 | 6:20 PM Milan Malpensa Airport | 14h40 | 8:00 AM Porto Airport | 1 transfer | |
LH7407+ LH1780+ LH6976 | 6:25 PM Milan Linate Airport | 7h15 | 12:40 AM Porto Airport | 2 transfers | |
AF1731 · AF1428 | 6:35 PM Milan Malpensa Airport | 14h50 | 8:25 AM Porto Airport | 1 transfer | |
AF1731 · AF1528 | 6:35 PM Milan Malpensa Airport | 21h50 | 3:25 PM Porto Airport | 1 transfer | |
KL1620 · KL1571 | 7:35 PM Milan Linate Airport | 16h20 | 10:55 AM Porto Airport | 1 transfer | |
KL1620 · KL1573 | 7:35 PM Milan Linate Airport | 20h55 | 3:30 PM Porto Airport | 1 transfer | |
TP827 · TP1922 | 8:00 PM Milan Malpensa Airport | 13h10 | 8:10 AM Porto Airport | 1 transfer | |
TP827 · TP1938 | 8:00 PM Milan Malpensa Airport | 5h40 | 12:40 AM Porto Airport | 1 transfer | |
TP827 · TP1920 | 8:00 PM Milan Malpensa Airport | 12h50 | 7:50 AM Porto Airport | 1 transfer | |
AF1313 · AF1428 | 8:45 PM Milan Linate Airport | 12h40 | 8:25 AM Porto Airport | 1 transfer | |
AF1313 · AF1528 | 8:45 PM Milan Linate Airport | 19h40 | 3:25 PM Porto Airport | 1 transfer | |
FR 8952 | 9:50 PM Milan Malpensa Airport | 2h40 | 11:30 PM Porto Airport | 0 transfersDirect | |
VY6345 · VY8482 | 10:35 PM Milan Malpensa Airport | 15h40 | 1:15 PM Porto Airport | 1 transfer | |
VY6345 · VY8476 | 10:35 PM Milan Malpensa Airport | 10h25 | 8:00 AM Porto Airport | 1 transfer | |
| Sunday, August 30 | |||||
TP829 · TP1928 | 5:50 AM Milan Malpensa Airport | 10h10 | 3:00 PM Porto Airport | 1 transfer | |
TP829 · TP1924 | 5:50 AM Milan Malpensa Airport | 5h20 | 10:10 AM Porto Airport | 1 transfer | |
TP829 · TP1930 | 5:50 AM Milan Malpensa Airport | 12h10 | 5:00 PM Porto Airport | 1 transfer | |
LX2066+ LX1639 | 5:50 AM Milan Malpensa Airport | 6h35 | 11:25 AM Porto Airport | 1 transfer | |
LX2804 · LX2078+ LX1639 | 5:50 AM Milan Malpensa Airport | 8h55 | 1:45 PM Porto Airport | 2 transfers | |
AF1733 · AF1516 | 6:25 AM Milan Linate Airport | 16h35 | 10:00 PM Porto Airport | 1 transfer | |
AF1733 · AF1528 | 6:25 AM Milan Linate Airport | 10h00 | 3:25 PM Porto Airport | 1 transfer | |
LH5639+ LH1176 | 6:30 AM Milan Malpensa Airport | 5h45 | 11:15 AM Porto Airport | 1 transfer | |
KL1612 · KL1573 | 6:40 AM Milan Linate Airport | 9h50 | 3:30 PM Porto Airport | 1 transfer | |
KL1612 · KL1577 | 6:40 AM Milan Linate Airport | 16h35 | 10:15 PM Porto Airport | 1 transfer | |
KL1612 · KL1575 | 6:40 AM Milan Linate Airport | 12h30 | 6:10 PM Porto Airport | 1 transfer | |
AF1131 · AF1516 | 6:45 AM Milan Malpensa Airport | 16h15 | 10:00 PM Porto Airport | 1 transfer | |
AF1131 · AF1528 | 6:45 AM Milan Malpensa Airport | 9h40 | 3:25 PM Porto Airport | 1 transfer | |
LH281+ LH1166+ LH6968 | 6:50 AM Milan Linate Airport | 9h10 | 3:00 PM Porto Airport | 2 transfers | |
LH281+ LH1176 | 6:50 AM Milan Linate Airport | 5h25 | 11:15 AM Porto Airport | 1 transfer | |
BA591+ BA2668 | 7:05 AM Milan Malpensa Airport | 14h35 | 8:40 PM Porto Airport | 1 transfer | |
BA581+ BA2668 | 7:25 AM Milan Linate Airport | 14h15 | 8:40 PM Porto Airport | 1 transfer | |
IB668 · IB1153 | 7:50 AM Milan Linate Airport | 13h10 | 8:00 PM Porto Airport | 1 transfer | |
IB668 · IB1149 | 7:50 AM Milan Linate Airport | 4h55 | 11:45 AM Porto Airport | 1 transfer | |
IB668 · IB1151 | 7:50 AM Milan Linate Airport | 9h10 | 4:00 PM Porto Airport | 1 transfer | |
AF1831 · AF1516 | 9:15 AM Milan Malpensa Airport | 13h45 | 10:00 PM Porto Airport | 1 transfer | |
AF1831 · AF1528 | 9:15 AM Milan Malpensa Airport | 7h10 | 3:25 PM Porto Airport | 1 transfer | |
AF1213 · AF1528 | 9:45 AM Milan Linate Airport | 6h40 | 3:25 PM Porto Airport | 1 transfer | |
AF1213 · AF1516 | 9:45 AM Milan Linate Airport | 13h15 | 10:00 PM Porto Airport | 1 transfer | |
VY6331 · VY8480 | 10:00 AM Milan Malpensa Airport | 12h20 | 9:20 PM Porto Airport | 1 transfer | |
VY6331 · VY8478 | 10:00 AM Milan Malpensa Airport | 7h10 | 4:10 PM Porto Airport | 1 transfer | |
IB5537 · IB5642 | 10:00 AM Milan Malpensa Airport | 7h10 | 4:10 PM Porto Airport | 1 transfer | |
IB5537 · IB5644 | 10:00 AM Milan Malpensa Airport | 12h20 | 9:20 PM Porto Airport | 1 transfer | |
IB672 · IB1151 | 10:25 AM Milan Malpensa Airport | 6h35 | 4:00 PM Porto Airport | 1 transfer | |
IB672 · IB1153 | 10:25 AM Milan Malpensa Airport | 10h35 | 8:00 PM Porto Airport | 1 transfer | |
LH6905+ LH1178 | 10:30 AM Milan Linate Airport | 6h15 | 3:45 PM Porto Airport | 1 transfer | |
LX1613 · LX2806+ LX4588 | 10:40 AM Milan Malpensa Airport | 7h35 | 5:15 PM Porto Airport | 2 transfers | |
LX1613 · LX2064 | 10:40 AM Milan Malpensa Airport | 8h50 | 6:30 PM Porto Airport | 1 transfer | |
BA569+ BA2668 | 10:50 AM Milan Linate Airport | 10h50 | 8:40 PM Porto Airport | 1 transfer | |
KL1614 · KL1573 | 11:00 AM Milan Linate Airport | 5h30 | 3:30 PM Porto Airport | 1 transfer | |
KL1614 · KL1577 | 11:00 AM Milan Linate Airport | 12h15 | 10:15 PM Porto Airport | 1 transfer | |
KL1614 · KL1575 | 11:00 AM Milan Linate Airport | 8h10 | 6:10 PM Porto Airport | 1 transfer | |
BA571+ BA2668 | 11:00 AM Milan Linate Airport | 10h40 | 8:40 PM Porto Airport | 1 transfer | |
UX1066 · UX1143 | 11:05 AM Milan Malpensa Airport | 5h10 | 3:15 PM Porto Airport | 1 transfer | |
FR 4042 | 11:05 AM Milan Bergamo Orio al Serio Airport | 2h45 | 12:50 PM Porto Airport | 0 transfersDirect | |
UX1066 · UX1147 | 11:05 AM Milan Malpensa Airport | 20h45 | 6:50 AM Porto Airport | 1 transfer | |
UX1066 · UX1141 | 11:05 AM Milan Malpensa Airport | 9h15 | 7:20 PM Porto Airport | 1 transfer | |
LH249 · LH1178 | 11:20 AM Milan Malpensa Airport | 5h25 | 3:45 PM Porto Airport | 1 transfer | |
Find all the dates and times for this journey
Compare bus 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.
Discover the best of Porto — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Porto trip today.
Contemporary art museum in a landmark Álvaro Siza building with major Portuguese and international exhibitions and a superb surrounding park.
Museum dedicated to Porto-born artist Júlio Dinis?
Leading Portuguese photography museum inside a former prison. Visit for rotating exhibitions and the striking historic building.
Colorful UNESCO riverside quarter lined with historic buildings and lively public spaces. Ideal for first-time visitors, photos, and Douro views.
Grand central avenue framed by stately buildings and City Hall. A key promenade for architecture, events, and easy orientation in the center.
Elegant garden terraces beside the old walls with sweeping Douro and bridge views. Excellent at sunset and a favorite local walking spot.
Porto’s iconic sandwich with steak, sausage and ham, covered in melted cheese and spicy beer sauce. A rich local classic tied to the city’s tavern culture.
Slow-cooked tripe stew with white beans, sausage and meats. It reflects Porto’s historic nickname tripeiros and is one of the city’s most traditional dishes.
Salt cod baked with cream, onion and potatoes. Bacalhau is central to Portuguese cooking, and this comforting version is widely loved in Porto.
Traditional beer hall famous for francesinha and casual local atmosphere. A long-standing favorite for Porto’s signature sandwich.
Established seafood restaurant celebrated for shellfish, grilled fish and classic northern Portuguese cooking in a traditional setting.
Refined restaurant by chef Rui Paula serving modern Portuguese cuisine in an elegant riverside setting near the Douro.
Moderate for Western Europe: lodging is often cheaper than Lisbon, meals are reasonable, and local transit is low cost for tourists.
Service is usually included. Round up or leave 5-10% at restaurants for good service. Small change is fine for cafes and taxis; tipping is appreciated, not required.
Official public transport app
Francisco Sá Carneiro Airport -> Trindade, Porto
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.

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.
Milan Malpensa Airport is 2 km from Milan city centre. Public transport options include:
Milan Malpensa Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge, and Lost and Found Office.
Free Wi-Fi available throughout the airport. ATMs are located in both terminals, near check-inas and gates.
Lost and found is available at the station.
Available at Milan Malpensa Airport: Parking, Taxis, WC.
Accessibility facilities are available at Milan Malpensa Airport: Elevators, ramps.
Milan Linate Airport is 6 km from Milan city centre. Public transport options include:
Milan Linate Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge, and Lost and Found Office.
Free Wi-Fi available throughout the airport. ATMs are located in the arrivals and departures areas.
Lost and found is available at the station.
Available at Milan Linate Airport: Parking, Taxis, WC.
Accessibility facilities are available at Milan Linate Airport: Ramps, assistance.
Milan Bergamo Orio al Serio Airport is 1 km from Milan city centre. Public transport options include:
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.
Free Wi-Fi available throughout the airport. ATMs are located in the arrivals and departures areas.
Lost and found is available at the station.
Available at Milan Bergamo Orio al Serio Airport: Parking, Taxis, WC.
Accessibility facilities are available at Milan Bergamo Orio al Serio Airport: Elevators, ramps.
Porto Airport is 1 km from Porto city centre. Public transport options include:
Porto Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge, and Lost and Found Office.
Free Wi-Fi available throughout the airport. ATMs are located in arrivals and departures.
Lost and found is available at the station.
Available at Porto Airport: Parking, Taxis, WC.
Accessibility facilities are available at Porto Airport: Elevators, ramps.
Here are some other resources that might have the information you need