Travel Information
Compare train, bus, 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 flight with prices starting from $21. For those with little time consider booking a flight which can get you there in 4h 48m. In case you are seeking to minimise your carbon footprint the bus is your best bet as it emits only 1.5 - 3.8kg. The ticket price range depends on the travel mode: a flight costs an average of $21, and a bus costs an average of $57.
Distance: 940 miles (1514 km)
Compare flight with
Most popular Flight | Bus |
|---|---|
$140 Average price Cheapest | $151 Average price |
7h 48m Average total duration Fastest 4h 48m Onboard + 3h 0m Additional time* | 25h 21m Average total duration 24h 51m Onboard + 30m Additional time* |
4.5 - 9.1kg CO2 emissions | 1.5 - 3.8kg CO2 emissions Lowest |
![]() Most popular airline | ![]() Most popular bus company |
Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Travel optionsfrom Porto to Milan
How to get from Porto to Milan by train, bus or flight.
Our recommendation
The best way to travel from Porto to Milan is by taking a flight because it’s the best combination of price and speed.
AF1517 · AF10125:55 AM7h00Porto Airport1:55 PMMilan Linate Airport$2461One-way1 transfer
Cheapest
3168 · 475111:55 PM29h05Porto, Terminal Intermodal de Campanhã6:00 AMMilano, Autostazione Lampugnano$2181One-way1 transfer
Fastest
FR 40172:45 PM2h25Porto Airport6:10 PMMilan Malpensa Airport$3491One-way0 transfers
Other options
FlixBus · FlixBus · FlixBus9:00 AM33h30Porto, Terminal Intermodal de Campanhã7:30 PMMilano, Autostazione Lampugnano$2391One-way2 transfers
FlixBus · FlixBus · FlixBus8:50 AM33h40Porto, Terminal Intermodal de Campanhã7:30 PMMilano, Autostazione Lampugnano$2391One-way2 transfers
Normal+
3187 · 947659:45 AM34h40Porto, Terminal Intermodal de Campanhã9:25 PMMilano, Autostazione Lampugnano$2441One-way2 transfers
AF1529 · AF18304:25 PM14h50Porto Airport8:15 AMMilan Malpensa Airport$2461One-way1 transfer
AF1517 · AF12305:55 AM7h50Porto Airport2:45 PMMilan Malpensa Airport$2801One-way1 transfer
KL1570 · KL16155:00 AM6h00Porto Airport12:00 PMMilan Linate Airport$3101One-way1 transfer
Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, buses and flights
Compare train, 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.
Apr 01
Apr 02
Apr 03
Apr 04
Apr 05
Apr 06
Apr 07
Apr 08
Apr 09
Apr 10
Apr 11
Apr 12
Apr 13
Apr 14
Apr 15
Apr 16
Apr 17
Apr 18
Apr 19
Apr 20
Apr 21
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Porto to Milan
Travel to Milan easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Porto to Milan.

This is compared to other travel options from Porto to Milan:
A flight is $36 (€29) less than a bus for this route with tickets for a bus from Porto to Milan costing on average $57 (€46).
A flight is $451 (€366) less than a train for this route with tickets for a train from Porto to Milan costing on average $472 (€383).
Other travel options to Milan take longer:
Bus takes on average 29h 5m.
Train takes on average 38h 47m.
- Around 87 flights per day.
- Around 8 buses per day.
- Around 1 trains per day.
However, we recommend checking specific travel dates for your route between Porto and Milan as scheduled services by train, bus, and flight can vary by season or day of the week.
- Flights mostly depart from Porto Airport and arrive in Milan Malpensa Airport.
- Buses mostly depart from Porto, Terminal Intermodal de Campanhã and arrive in Milano, Autostazione Lampugnano.
- Travel with Renfe Viajeros to go to Milan by train.
- Travel with Ryanair, easyJet, Malta Air, Vueling Airlines, Iberia, Wizz Air, TAP Portugal, Air Europa, Swiss, Lufthansa, Air France, Air Baltic, KLM Cityhopper, Brussels Airlines, KLM, GetJet Airlines to go to Milan by flight.
- Travel with FlixBus, BlaBlaCar Bus, Alsa to go to Milan by bus.
- 3 direct flights per day with Ryanair, easyJet, Malta Air.
Travelling from Porto to Milan: related information
Here are some other resources that might have the information you need
