The average bus between Porto and Milan takes 31h 10m and the fastest bus takes 28h 30m. The bus service runs several times per day from Porto to Milan. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Buses run twice daily between Porto and Milan. The earliest departure is at 12:55 AM at night, and the last departure from Porto is at 10:15 AM which arrives into Milan at 5:25 PM. All services require a transfer, and take on average 31h 10m. The schedules shown below are for the next available departures.
Arrives next day

31h 45m • 1 change
Arrives next day

32h 30m • 1 change
Arrives next day

31h 45m • 1 change
Arrives next day

31h 10m • 1 change
Arrives next day

31h 45m • 1 change
Arrives next day

31h 10m • 1 change
Arrives next day

28h 30m • 1 change
Arrives next day

31h 45m • 1 change
Arrives next day

31h 10m • 1 change
Want to know about travelling from Porto to Milan? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct bus from Porto to Milan. However, there are services departing from Porto station and arriving at Milan station via Lyon - Gerland Bus Station station. The journey, including transfers, takes approximately 31h 10m.
Porto to Milan bus services, operated by BlaBlaCar Bus, depart from Porto - Terminal Intermodal de Campanhã station.
Porto to Milan bus services, operated by BlaBlaCar Bus, arrive at Milano, Autostazione Lampugnano station.
Book your Porto to Milan bus tickets online with BlaBlaCar Bus, FlixBus and Itabus S.p.A..
The distance between Porto and Milan is 1,514.4 km. The road distance is 2,194 km.
You can take a bus from Porto - Terminal Intermodal de Campanhã to Milano, Autostazione Lampugnano via Lyon - Gerland Bus Station in around 30h 41m.