The cheapest and fastest buses from Porto to Milan
Cheapest price
$171
Average price
$210
Fastest journey
1 d 9 h 10 m
Average duration
1 d 12 h 15 m
Buses per day
3
Distance
1514 km
The best way to find a cheap bus ticket from Porto to Milan is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Porto to Milan will cost around $210 if you buy it on the day, but the cheapest tickets can be found for only $171.
It's difficult to get from Porto to Milan without transferring at least once.
FlixBus · FlixBus
FlixBus · FlixBus · FlixBus · FlixBus
FlixBus · FlixBus
FlixBus · FlixBus
FlixBus · FlixBus
FlixBus · FlixBus · FlixBus · FlixBusTravel 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 €17. 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 €17, and a train costs an average of €382.
Distance: 940 miles (1514 km)
Compare bus with
| Bus | Most popular Flight | Train |
|---|---|---|
€124 Average price | €114 Average price Cheapest | €391 Average price |
25h 9m Average total duration 24h 39m Onboard + 30m Additional time* | 7h 48m Average total duration Fastest 4h 48m Onboard + 3h 0m Additional time* | 43h 38m Average total duration 43h 8m Onboard + 30m Additional time* |
1.5 - 3.8kg CO2 emissions Lowest | 4.5 - 9.1kg CO2 emissions | - CO2 emissions |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Porto to Milan Bus Timetables
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator FlixBus | Departure Time 01:40AM | Arrival Time 06:10PM | Duration 39h30 | Departure days Tue, Wed | Cheapest price $109 |
Operator FlixBus | Departure Time 04:30AM | Arrival Time 06:10PM | Duration 36h40 | Departure days Mon, Thu, Fri | Cheapest price $123 |
Operator FlixBus | Departure Time 05:00AM | Arrival Time 06:10PM | Duration 36h10 | Departure days Sat, Sun | Cheapest price $192 |
Operator FlixBus | Departure Time 08:50AM | Arrival Time 07:05PM | Duration 33h15 | Departure days Tue, Thu, Sat | Cheapest price $119 |
Operator FlixBus | Departure Time 09:00AM | Arrival Time 09:55PM | Duration 35h55 | Departure days Tue, Thu, Sat | Cheapest price $119 |
Operator Alsa | Departure Time 09:00AM | Arrival Time 08:20PM | Duration 34h20 | Departure days Wed, Thu, Fri, Sat | Cheapest price $111 |
Operator Alsa | Departure Time 09:45AM | Arrival Time 08:20PM | Duration 33h35 | Departure days Wed, Thu, Fri, Sat | Cheapest price $111 |
Operator Alsa | Departure Time 12:00PM | Arrival Time 05:45AM | Duration 40h45 | Departure days Thu | Cheapest price $176 |
Operator Alsa | Departure Time 12:30PM | Arrival Time 05:45AM | Duration 40h15 | Departure days Thu | Cheapest price $176 |
Operator Alsa | Departure Time 12:45PM | Arrival Time 05:45AM | Duration 40h00 | Departure days Thu | Cheapest price $176 |
Operator FlixBus | Departure Time 09:00PM | Arrival Time 07:10AM | Duration 33h10 | Departure days Mon, Thu, Fri, Sat, Sun | Cheapest price $123 |
Operator FlixBus | Departure Time 10:55PM | Arrival Time 03:20PM | Duration 39h25 | Departure days Everyday | Cheapest price $186 |
Operator BlaBlaCar Bus | Departure Time 11:55PM | Arrival Time 06:00AM | Duration 29h05 | Departure days Wed, Fri, Sat | Cheapest price $120 |
Live departures
Porto to Milan bus times
The table below shows live departures for Porto to Milan buses for today, Saturday, February 14. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
FlixBus · FlixBus | 8:50 AM Porto, Terminal Intermodal de Campanhã | 33h15 | 6:05 PM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus · FlixBus | 9:00 AM Porto, Terminal Intermodal de Campanhã | 35h55 | 8:55 PM Milano, Autostazione Lampugnano | 2 transfers | |
Normal+ 3160 · 57094 | 9:00 AM Porto, Aeroporto Francisco Sá Carneiro | 43h45 | 4:45 AM Milano, Autostazione Lampugnano | 2 transfers | |
FlixBus · FlixBus · FlixBus | 9:00 AM Porto, Terminal Intermodal de Campanhã | 33h05 | 6:05 PM Milano, Autostazione Lampugnano | 2 transfers | |
Normal+ 3167 · 4705 | 9:00 AM Porto, Aeroporto Francisco Sá Carneiro | 34h20 | 7:20 PM Milano, Autostazione Lampugnano | 2 transfers | |
Normal+ 3167 · 4705 | 9:00 AM Porto, Aeroporto Francisco Sá Carneiro | 34h20 | 7:20 PM Milano, Autostazione Lampugnano | 2 transfers | |
Normal+ 3167 · 4705 | 9:45 AM Porto, Terminal Intermodal de Campanhã | 33h35 | 7:20 PM Milano, Autostazione Lampugnano | 2 transfers | |
Normal+ 3167 · 4705 | 9:45 AM Porto, Terminal Intermodal de Campanhã | 33h35 | 7:20 PM Milano, Autostazione Lampugnano | 2 transfers | |
Normal+ 3160 · 57094 | 9:45 AM Porto, Terminal Intermodal de Campanhã | 43h00 | 4:45 AM Milano, Autostazione Lampugnano | 2 transfers | |
FlixBus · FlixBus · FlixBus | 9:00 PM Porto, Terminal Intermodal de Campanhã | 37h40 | 10:40 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 transfers | |
FlixBus · FlixBus | 9:00 PM Porto, Terminal Intermodal de Campanhã | 33h10 | 6:10 AM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus · FlixBus | 9:00 PM Porto, Terminal Intermodal de Campanhã | 37h55 | 10:55 AM Milano, Milan Linate Airport | 2 transfers | |
FlixBus · FlixBus · FlixBus · FlixBus | 10:55 PM Porto, Terminal Intermodal de Campanhã | 39h25 | 2:20 PM Milano, Milan Linate Airport | 3 transfers | |
3168 · 4751 | 11:55 PM Porto, Terminal Intermodal de Campanhã | 29h05 | 5:00 AM Milano, Autostazione Lampugnano | 1 transfer | |
| Sunday, February 15 | |||||
FlixBus · FlixBus | 5:00 AM Porto, Terminal Intermodal de Campanhã | 36h10 | 5:10 PM Milano, Autostazione Lampugnano | 1 transfer | |
Find all the dates and times for this journey
Compare prices and tickets Porto to Milan by train, bus, or flight
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.
Feb 14
Feb 15
Feb 16
Feb 17
Feb 18
Feb 19
Feb 20
Feb 21
Feb 22
Feb 23
Feb 24
Feb 25
Feb 26
Feb 27
Feb 28
Mar 01
Mar 02
Mar 03
Mar 04
Mar 05
Mar 06
Why should you book Porto to Milan buses with Omio?
Why book with Omio vs FlixBus?
- Compare with other providers: On Omio, you can not only buy tickets for FlixBus, but also compare tickets for the likes of Alsa or BlaBlaCar Bus to find the best option for your trip from Porto to Milan.
- 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 FlixBus with all available travel options, which are train, bus and flight to ensure you get the best deal for traveling from Porto to Milan.
Why book with Omio over Wanderu, Checkmybus or Rome2rio?
- Compare with other providers: On Omio, you can also compare tickets for the likes of Alsa or BlaBlaCar Bus to find the best option for your trip from Porto to Milan.
- Multiple modes of transport: Omio allows you to compare travel options including train, bus and flight to find the ideal travel option from Porto to Milan.
Journey information
Overview: Bus from Porto to Milan
Buses from Porto to Milan run on average 8 times per day, taking around 24h 39m. Cheap bus tickets for this journey start at $58 (€46) but you can travel from only $21 (€17) by flight.
The earliest bus runs at 00:05, the last at 23:55. The fastest bus covers the 940 miles (1514 km) distance in 29h 5m.
Distance 940 miles (1514 km) |
Average bus duration 24h 39m |
Cheapest ticket price $58 (€46) |
Buses per day 8 |
Fastest bus 29h 5m |
First bus 00:05 |
Last bus 23:55 |
Bus providers: FlixBus, Alsa, BlaBlaCar Bus from Porto to MilanYou can travel by bus between Porto to Milan with FlixBus, Alsa, BlaBlaCar Bus for as low as $21 (€17). When you search for schedules and tickets, Omio will show you the best journey
FlixBus
Alsa
BlaBlaCar Bus
FAQs: Bus from Porto to Milan
Find answers to the most common questions about traveling from Porto to Milan by bus. 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 bus, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

- Alsa
- Assistance
- Priority boarding
- Accessible seating.
- BlaBlaCar Bus
- Assistance
- Priority boarding
- Accessible seating options.
- FlixBus
- Assistance
- Priority boarding
- Wheelchair-accessible buses.
- Duomo di Milano, an iconic Gothic cathedral known for its intricate facade and panoramic rooftop views
- Galleria Vittorio Emanuele II, a historic shopping arcade featuring luxury brands and elegant architecture
- Castello Sforzesco, a Renaissance fortress housing museums and art collections
- Santa Maria delle Grazie, a church famous for housing Leonardo da Vinci's The Last Supper
- Teatro alla Scala, a world-renowned opera house celebrated for its exceptional acoustics and performances.
- Visit the Duomo di Milano, an iconic Gothic cathedral with stunning architecture and panoramic rooftop views
- Explore The Last Supper, Leonardo da Vinci's renowned mural located in the Convent of Santa Maria delle Grazie
- Stroll through Galleria Vittorio Emanuele II, a historic shopping arcade with luxury boutiques and elegant cafes
- Discover Sforza Castle, a grand fortress housing several museums and art collections
- Relax in Sempione Park, a large green space perfect for leisurely walks and picnics near the city center.
- Alsa
- You can cancel your ticket up to 48 hours before departure for a partial refund. Changes allowed for a fee.
- BlaBlaCar Bus
- You can cancel your ticket up to 30 minutes before departure for a refund in the form of a voucher.
- FlixBus
- You can cancel your ticket up to 15 minutes before departure and receive a voucher for future travel. Refund requests for delays over 120 minutes are possible.
- Alsa
- One carry-on bag up to 10kg and one checked bag up to 25kg.
- BlaBlaCar Bus
- One carry-on bag up to 7kg and one checked bag up to 20kg.
- FlixBus
- One carry-on bag up to 7kg (42x30x18 cm) and one checked bag up to 20kg (80x50x30 cm).
- Alsa
- Additional luggage can be purchased for a fee.
- BlaBlaCar Bus
- Additional luggage can be purchased for a fee.
- FlixBus
- Additional luggage can be purchased for a fee.
- Alsa
- Small pets allowed in carriers
- larger pets must travel in the hold.
- FlixBus
- Small pets in carriers allowed
- guide dogs travel for free.
popular bus stations
Popular bus stations from Porto to Milan
- 06:00-23:00
- Free Wi-Fi
- Cafetaria Terminal (in the station)
- Restaurante Campanhã (0.5 km)
- Tasquinha do Caco (0.7 km).
- Available outside the main entrance.
- Elevators
- Available in the station.
- Bus: 205, 206, 207 Metro: A, B, C, E Train: Urban, Regional
- 06:00-23:00
- Free Wi-Fi
- Cafeteria Lampugnano (in the station)
- Trattoria Milano (0.5 km)
- Pizza Express (0.7 km).
- Available outside the station.
- Elevators, ramps
- Available in the station.
- Metro: M1 Bus: 68, 78, 80
- 06:00-22:00
- Free Wi-Fi
- Cafeteria Italiana (in the station)
- Fast Food Express (in the station)
- Trattoria Milano (0.5 km).
- Available outside the station.
- Elevators, ramps
- Available in the station.
- Bus: 121, 132 Metro: M3
Most popular bus connections from Porto
More options for your journey from Porto to Milan
Here are some other resources that might have the information you need


