The cheapest and fastest coaches from Porto to Milan
Cheapest price
220S$
Average price
360S$
Fastest journey
1 d 5 h 5 m
Average duration
1 d 8 h 5 m
Buses per day
20
Distance
1514 km
The best way to find a cheap coach 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 360S$ if you buy it on the day, but you can find cheap coach tickets today for only 220S$.
To travel from Porto to Milan you need to make at least one change.
54152 · 5104712:50 AM31h50Porto, Terminal Intermodal de Campanhã9:40 AMMilano, Autostazione Lampugnano220 S$1One-way1 change
FlixBus · FlixBus · FlixBus9:00 PM37h40Porto, Terminal Intermodal de Campanhã11:40 AMMilano, San Donato - Settore B (Viale Giuseppe Impastato)308 S$1One-way2 changes
3168 · 9456111:55 PM29h05Porto, Terminal Intermodal de Campanhã6:00 AMMilano, Autostazione Lampugnano330 S$1One-way1 change
Normal+
3160 · 572019:45 AM43h00Porto, Terminal Intermodal de Campanhã5:45 AMMilano, Autostazione Lampugnano333 S$1One-way2 changes
Normal+
3160 · 572019:00 AM43h45Maia, Porto (Aeroporto Sa Carneiro)5:45 AMMilano, Autostazione Lampugnano333 S$1One-way2 changes
3168 · 9456111:55 PM29h05Porto, Terminal Intermodal de Campanhã6:00 AMMilano, Autostazione Lampugnano330 S$1One-way1 change
54152 · 5104712:50 AM31h50Porto, Terminal Intermodal de Campanhã9:40 AMMilano, Autostazione Lampugnano220 S$1One-way1 change
FlixBus · FlixBus · FlixBus9:00 AM33h05Porto, Terminal Intermodal de Campanhã7:05 PMMilano, Autostazione Lampugnano345 S$1One-way2 changes
FlixBus · FlixBus9:00 PM33h10Porto, Terminal Intermodal de Campanhã7:10 AMMilano, Autostazione Lampugnano369 S$1One-way1 change
FlixBus · FlixBus8:50 AM33h15Porto, Terminal Intermodal de Campanhã7:05 PMMilano, Autostazione Lampugnano380 S$1One-way1 change
Travel Information
Compare 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 109S$. For those with little time consider booking a flight which can get you there in 4h 52m. 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 109S$, and a flight costs an average of 77S$.
Distance: 1514 km
Compare bus with
| Coach | Most popular Flight |
|---|---|
203S$ Average Price Cheapest | 225S$ Average Price |
25h 25m Average total duration 24h 55m Onboard + 30m Additional time* | 7h 52m Average total duration Fastest 4h 52m Onboard + 3h 0m Additional time* |
1.5 - 3.8kg CO2 emissions Lowest | 4.5 - 9.1kg CO2 emissions |
![]() Most popular bus company | ![]() Most popular airline |
Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Live departures
Porto to Milan bus times
The table below shows live departures for Porto to Milan coaches for today, Thursday, 13 August. You can also manually refresh the results below to see updated coach journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
FlixBus · FlixBus · FlixBus | 9:00 PM Porto, Terminal Intermodal de Campanhã | 37h40 | 11:40 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 changes | |
FlixBus · FlixBus | 9:00 PM Porto, Terminal Intermodal de Campanhã | 33h10 | 7:10 AM Milano, Autostazione Lampugnano | 1 change | |
FlixBus · FlixBus · FlixBus | 9:00 PM Porto, Terminal Intermodal de Campanhã | 37h55 | 11:55 AM Milano, Milan Linate Airport | 2 changes | |
FlixBus · FlixBus · FlixBus · FlixBus | 10:10 PM Porto, Terminal Intermodal de Campanhã | 40h20 | 3:30 PM Milano, Milan Linate Airport | 3 changes | |
| Friday, 14 August | |||||
54152 · 51047 | 12:50 AM Porto, Terminal Intermodal de Campanhã | 31h50 | 9:40 AM Milano, Autostazione Lampugnano | 1 change | |
FlixBus · FlixBus | 5:00 AM Porto, Terminal Intermodal de Campanhã | 36h10 | 6:10 PM Milano, Autostazione Lampugnano | 1 change | |
FlixBus · FlixBus · FlixBus | 8:50 AM Porto, Terminal Intermodal de Campanhã | 37h10 | 11:00 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 changes | |
FlixBus · FlixBus | 8:50 AM Porto, Terminal Intermodal de Campanhã | 33h15 | 7:05 PM Milano, Autostazione Lampugnano | 1 change | |
FlixBus · FlixBus · FlixBus | 9:00 AM Porto, Terminal Intermodal de Campanhã | 33h30 | 7:30 PM Milano, Autostazione Lampugnano | 2 changes | |
FlixBus · FlixBus · FlixBus | 9:00 AM Porto, Terminal Intermodal de Campanhã | 33h05 | 7:05 PM Milano, Autostazione Lampugnano | 2 changes | |
Normal+ 3160 · 57201 | 9:00 AM Maia, Porto (Aeroporto Sa Carneiro) | 43h45 | 5:45 AM Milano, Autostazione Lampugnano | 2 changes | |
Normal+ 3187 · 94765 | 9:00 AM Maia, Porto (Aeroporto Sa Carneiro) | 35h25 | 9:25 PM Milano, Autostazione Lampugnano | 2 changes | |
Normal+ 3187 · 94765 | 9:00 AM Maia, Porto (Aeroporto Sa Carneiro) | 35h25 | 9:25 PM Milano, Autostazione Lampugnano | 2 changes | |
Normal+ 3160 · 57201 | 9:45 AM Porto, Terminal Intermodal de Campanhã | 43h00 | 5:45 AM Milano, Autostazione Lampugnano | 2 changes | |
Normal+ 3187 · 94765 | 9:45 AM Porto, Terminal Intermodal de Campanhã | 34h40 | 9:25 PM Milano, Autostazione Lampugnano | 2 changes | |
Normal+ 3187 · 94765 | 9:45 AM Porto, Terminal Intermodal de Campanhã | 34h40 | 9:25 PM Milano, Autostazione Lampugnano | 2 changes | |
Normal+ 3160 · 57201 | 12:00 PM Maia, Porto (Aeroporto Sa Carneiro) | 40h45 | 5:45 AM Milano, Autostazione Lampugnano | 2 changes | |
Normal+ 3160 · 57201 | 12:30 PM Porto, Polo Universitario (Bus Terminal) | 40h15 | 5:45 AM Milano, Autostazione Lampugnano | 2 changes | |
Normal+ 3160 · 57201 | 12:45 PM Porto, Terminal Intermodal de Campanhã | 40h00 | 5:45 AM Milano, Autostazione Lampugnano | 2 changes | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Porto to Milan by coach or flight
Compare 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.
13 Aug
14 Aug
15 Aug
16 Aug
17 Aug
18 Aug
19 Aug
20 Aug
21 Aug
22 Aug
23 Aug
24 Aug
25 Aug
26 Aug
27 Aug
28 Aug
29 Aug
30 Aug
31 Aug
01 Sept
02 Sept
Why should you book Porto to Milan coaches with Omio?
Why book with Omio vs BlaBlaCar Bus?
- Compare with other providers: On Omio, you can not only buy tickets for BlaBlaCar Bus, but also compare tickets for the likes of FlixBus or Alsa 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 BlaBlaCar Bus with all available travel options, which are bus and flight to ensure you get the best deal for traveling from Porto to Milan.
Why book with Omio over Checkmybus, Wanderu or Busbud?
- Compare with other providers: On Omio, you can also compare tickets for the likes of FlixBus or Alsa to find the best option for your trip from Porto to Milan.
- Multiple modes of transport: Omio allows you to compare travel options including 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 55m. Cheap bus tickets for this journey start at 109S$ but you can travel from only 77S$ by flight.
The earliest coach runs at 00:05, the last at 23:55. The fastest coach covers the 1514 km distance in 29h 5m.
Distance 1514 km |
Average bus duration 24h 55m |
Cheapest ticket price 109S$ |
Buses per day 8 |
Fastest bus 29h 5m |
First bus 12:05 AM |
Last bus 11:55 PM |
Cheapest Month Jul |
Cheapest Day Wed |
High Season Oct - Dec |
Low Season Jan - Mar |
Busiest Day Tue |
Least Busy Day Sun |
Best time to book 35 days |
Bus providers: BlaBlaCar Bus, FlixBus, Alsa from Porto to MilanYou can travel by bus between Porto to Milan with BlaBlaCar Bus, FlixBus, Alsa for as low as 77S$. When you search for schedules and tickets, Omio will show you the best journey
FlixBus
Alsa
BlaBlaCar Bus
FAQs: Porto to Milan coach
Find answers to the most common questions about traveling from Porto to Milan by coach. 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 coach, 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.
- 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
Important Stations and Airports in Porto and Milan
Most Porto to Milan buses use the Porto, Terminal Intermodal de Campanhã to Milano, Autostazione Lampugnano station pair, with some services arriving at Milano, Aeroporto di Milano Linate. Use this guide to compare Porto and Milan bus stations on this route, check city-centre transport, alongside checking practicalities like bus station facilities and services.
Which Porto station do buses to Milan leave from?
Getting to Porto, Terminal Intermodal de Campanhã from Porto city centre
Porto, Terminal Intermodal de Campanhã is 2 km from Porto city centre. Public transport options include:
Porto, Terminal Intermodal de Campanhã bus station facilities and services
Porto, Terminal Intermodal de Campanhã has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC and Ticket Office.
Food and drink
Food options include: Cafetaria Terminal (in the station), Restaurante Campanhã (0.5 km), Tasquinha do Caco (0.7 km).
Wi-Fi and ATMs
Free Wi-Fi. ATMs are located near the main entrance.
Tickets and information
Ticket office support is available at Porto, Terminal Intermodal de Campanhã.
Parking, taxis and toilets
Available at Porto, Terminal Intermodal de Campanhã: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Porto, Terminal Intermodal de Campanhã: Elevators.
Getting to Porto, Polo Universitario (Bus Terminal) from Porto city centre
Getting to Maia, Porto (Aeroporto Sa Carneiro) from Porto city centre
Which Milan station do buses from Porto arrive at?
Getting to Milano, Autostazione Lampugnano from Milan city centre
Milano, Autostazione Lampugnano is 5 km from Milan city centre. Public transport options include:
Milano, Autostazione Lampugnano bus station facilities and services
Milano, Autostazione Lampugnano has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC and Ticket Office.
Food and drink
Food options include: Cafeteria Lampugnano (in the station), Trattoria Milano (0.5 km), Pizza Express (0.7 km).
Wi-Fi and ATMs
Free Wi-Fi. ATMs are located near the main entrance.
Tickets and information
Ticket office support is available at Milano, Autostazione Lampugnano.
Parking, taxis and toilets
Available at Milano, Autostazione Lampugnano: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Milano, Autostazione Lampugnano: Elevators, ramps.
Getting to Milano, Aeroporto di Milano Linate from Milan city centre
Getting to Milano, San Donato - Settore B (Viale Giuseppe Impastato) from Milan city centre
Milano, San Donato - Settore B (Viale Giuseppe Impastato) is 6 km from Milan city centre. Public transport options include:
Milano, San Donato - Settore B (Viale Giuseppe Impastato) bus station facilities and services
Milano, San Donato - Settore B (Viale Giuseppe Impastato) has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC and Ticket Office.
Food and drink
Food options include: Cafeteria Italiana (in the station), Fast Food Express (in the station), Trattoria Milano (0.5 km).
Wi-Fi and ATMs
Free Wi-Fi. ATMs are located near the main entrance for cash withdrawals.
Tickets and information
Ticket office support is available at Milano, San Donato - Settore B (Viale Giuseppe Impastato).
Parking, taxis and toilets
Available at Milano, San Donato - Settore B (Viale Giuseppe Impastato): Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Milano, San Donato - Settore B (Viale Giuseppe Impastato): Elevators, ramps.
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

