- Must visit
Pinacoteca di Brera
Milan’s premier art gallery, known for Italian masterpieces by Raphael, Caravaggio, and Mantegna in the historic Brera district.
Cheapest price
$68
Average price
$110
Fastest journey
9 h 50 m
Average duration
11 h 34 m
Buses per day
11
Distance
529 km
The best way to find a cheap bus ticket from Zagreb to Milan is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Zagreb to Milan will cost around $110 if you buy it on the day, but the cheapest tickets can be found for only $68.
Of the 11 buses that leave Zagreb for Milan on Sun, Jun 21, 2 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Sun, Jun 21 the direct buses cover the 529 km distance in an average of 11 h 34 m but if you time it right, some buses will get you there in just 9 h 50 m .
On Sun, Jun 21 the slowest buses will take 13 h 30 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.
FlixBus
FlixBus
FlixBus · FlixBus · FlixBus
FlixBus · FlixBus
FlixBus · FlixBus
FlixBus
FlixBus
FlixBus · FlixBus
FlixBus · FlixBus
FlixBus · FlixBusOmio recommends booking the bus as it is the most popular option from Zagreb to Milan among Omio's users. If you are prioritising price take the bus with prices starting from $31. For those with little time consider booking a flight which can get you there in 2h 45m. In case you are seeking to minimise your carbon footprint the bus is your best bet as it emits only 0.5 - 1.3kg. The ticket price range depends on the travel mode: a bus costs an average of $31, and a flight costs an average of $20.
Distance: 328 miles (529 km)
Most popular Bus | Flight | Driving |
|---|---|---|
$62 Average price Cheapest | $211 Average price | $207 Average price (fuel + tolls) |
10h 37m Average total duration 10h 7m Onboard + 30m Additional time* | 5h 45m Average total duration Fastest 2h 45m Onboard + 3h 0m Additional time* | 6h 59m Average total duration (door-to-door) |
0.5 - 1.3kg CO2 emissions Lowest | 1.6 - 3.2kg CO2 emissions | - CO2 emissions |
![]() Most popular bus company | ![]() Most popular airline | 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 Zagreb to Milan:
A bus is $150 (€122) less than a flight for this route with tickets for a flight from Zagreb to Milan costing on average $211 (€173).
Other travel options to Milan take longer:
Bus takes on average 10h 7m.
Tickets start at around $62 (€50) compared to roughly $207 (€169) in fuel and tolls — a saving of about $145 (€119). The journey takes 10h 7m versus 6h 59m by car, so you'll arrive a bit later, but you can use the time productively rather than spending it behind the wheel. No parking to sort, no fuel stops, and most coaches have Wi-Fi and power outlets.
Direct services are operated by Union Ivkoni International, FlixBus, BlaBlaCar Bus, Itabus, Union Ivkoni, Infobus.
Driving is worth considering if you're on a tight schedule, travelling as a group (where fuel costs split several ways), or want the flexibility to stop along the way.
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator FlixBus | Departure Time 06:00AM | Arrival Time 08:00PM | Duration 14h00 | Departure days Mon, Wed, Thu, Sat, Sun | Cheapest price $82 |
Operator FlixBus | Departure Time 07:30AM | Arrival Time 05:25PM | Duration 9h55 | Departure days Everyday | Cheapest price $50 |
Operator FlixBus | Departure Time 02:05PM | Arrival Time 04:00AM | Duration 13h55 | Departure days Everyday | Cheapest price $75 |
Operator FlixBus | Departure Time 04:45PM | Arrival Time 05:30AM | Duration 12h45 | Departure days Everyday | Cheapest price $101 |
Operator FlixBus | Departure Time 06:00PM | Arrival Time 11:55AM | Duration 17h55 | Departure days Everyday | Cheapest price $80 |
Operator | Departure Time 08:30PM | Arrival Time 06:00AM | Duration 9h30 | Departure days Tue, Thu, Sat | Cheapest price $28 |
Operator FlixBus | Departure Time 08:40PM | Arrival Time 08:30AM | Duration 11h50 | Departure days Everyday | Cheapest price $91 |
Operator FlixBus | Departure Time 08:45PM | Arrival Time 06:35AM | Duration 9h50 | Departure days Everyday | Cheapest price $48 |
Operator | Departure Time 09:30PM | Arrival Time 06:45AM | Duration 9h15 | Departure days Sat | Cheapest price $49 |
Operator FlixBus | Departure Time 10:30PM | Arrival Time 08:55PM | Duration 22h25 | Departure days Mon, Tue | Cheapest price $120 |
Operator FlixBus | Departure Time 11:15PM | Arrival Time 08:55PM | Duration 21h40 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $116 |
The table below shows live departures for Zagreb to Milan buses for today, Saturday, June 20. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
FlixBus · FlixBus · FlixBus | 6:00 AM Zagreb, Bus Station | 14h00 | 8:00 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 transfers | |
FlixBus | 7:30 AM Zagreb, Bus Station | 9h55 | 5:25 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 2:05 PM Zagreb, Bus Station | 13h55 | 4:00 AM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus · FlixBus | 2:05 PM Zagreb, Bus Station | 20h10 | 10:15 AM Milano, Milan Linate Airport | 2 transfers | |
FlixBus · FlixBus | 4:45 PM Zagreb, Bus Station | 12h45 | 5:30 AM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus | 6:00 PM Zagreb, Bus Station | 17h55 | 11:55 AM Milano, Milan Linate Airport | 1 transfer | |
FlixBus · FlixBus | 6:00 PM Zagreb, Bus Station | 13h30 | 7:30 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
![]() | 8:30 PM Zagreb, Strojarska cesta (Autobusni Kolodvor) | 9h30 | 6:00 AM Milan, Lampugnano (M1) | 0 transfersDirect | |
FlixBus · FlixBus | 8:40 PM Zagreb, Bus Station | 11h50 | 8:30 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
FlixBus | 8:45 PM Zagreb, Bus Station | 9h50 | 6:35 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus · FlixBus | 8:45 PM Zagreb, Bus Station | 18h45 | 3:30 PM Milano, Milan Linate Airport | 2 transfers | |
![]() | 9:30 PM Zagreb, Strojarska cesta (Autobusni Kolodvor) | 9h15 | 6:45 AM Milan, Lampugnano (M1) | 0 transfersDirect | |
FlixBus · FlixBus · FlixBus | 11:15 PM Zagreb, Bus Station | 21h40 | 8:55 PM Milano, Milan Linate Airport | 2 transfers | |
This is the last bus of the day. | |||||
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.
Buses from Zagreb to Milan run on average 11 times per day, taking around 10h 7m. Cheap bus tickets for this journey start at $31 (€26) but you can travel from only $20 (€16) by flight.
There are 4 buses per day. The earliest bus runs at 00:05, the last at 23:55. The fastest bus covers the 328 miles (529 km) distance in 8h 15m.
Distance 328 miles (529 km) |
Average bus duration 10h 7m |
Cheapest ticket price $31 (€26) |
Buses per day 11 |
Direct buses 4 |
Fastest bus 8h 15m |
First bus 12:05 AM |
Last bus 11:55 PM |
Cheapest Month Mar |
Cheapest Day Sat |
High Season Jul - Sep |
Low Season Jan - Mar |
Busiest Day Tue |
Least Busy Day Mon |
Best time to book 63 days |
Discover the best of Milan — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Milan trip today.
Milan’s premier art gallery, known for Italian masterpieces by Raphael, Caravaggio, and Mantegna in the historic Brera district.
Museum entry for Leonardo’s The Last Supper, one of the world’s most famous artworks and a priority booking site in Milan.
Major museum of 20th-century Italian art facing Piazza del Duomo, with strong Futurist collections and rooftop views.
Milan’s canal district, known for waterside walks, lively atmosphere, and highly photogenic bridges and reflections.
Charming central neighborhood with elegant streets, galleries, boutiques, and a classic Milanese artistic atmosphere.
Milan’s main square and the city’s most important urban landmark, ideal for first-time visitors and classic views.
Milan’s signature saffron risotto, rich with butter and cheese, prized for its golden color and elegant flavor.
A traditional breaded veal cutlet, fried until crisp. It is one of the city’s most iconic and historic main dishes.
Braised veal shank, often served with risotto alla Milanese. It is a classic Lombard comfort dish with deep, slow-cooked flavor.
Iconic casual spot famous for panzerotti, beloved by locals and visitors for quick, affordable bites near the Duomo.
Well-known modern Milanese restaurant celebrated for refined local dishes such as mondeghili and risotto in a stylish setting.
Historic traditional trattoria serving classic Milanese and Lombard dishes in an old-world, elegant atmosphere.
Prices are high by Italian standards, especially for hotels and central dining, but budget cafés and aperitivo deals help control daily costs.
Tipping is modest. Service may be included or a coperto charged. Round up or leave 5-10% for very good restaurant service; small change for taxis and cafés is enough.
Official public transport app
Orio Al Serio Airport, Bergamo -> Milano Centrale
Find answers to the most common questions about traveling from Zagreb 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.

Most Zagreb to Milan buses use the Zagreb, Autobusni Kolodvor to Milano, Autostazione Lampugnano station pair, with some services arriving at Milano, Aeroporto di Milano Linate. Use this guide to compare Zagreb and Milan bus stations on this route, check city-centre transport, alongside checking practicalities like bus station facilities and services.
Zagreb, Autobusni Kolodvor is 1 km from Zagreb city centre. Public transport options include:
Zagreb, Autobusni Kolodvor has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food options include: Cafeteria Zagreb (in the station), Bakery Delight (in the station), Fast Food Corner (in the station).
Free Wi-Fi. ATMs are located inside the station near the main entrance.
Ticket office support is available at Zagreb, Autobusni Kolodvor.
Available at Zagreb, Autobusni Kolodvor: Parking, Taxis, WC.
Accessibility facilities are available at Zagreb, Autobusni Kolodvor: Elevators, ramps.
Milano, Autostazione Lampugnano is 5 km from Milan city centre. Public transport options include:
Milano, Autostazione Lampugnano has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food options include: Cafeteria Lampugnano (in the station), Trattoria Milano (0.5 km), Pizza Express (0.7 km).
Free Wi-Fi. ATMs are located near the main entrance.
Ticket office support is available at Milano, Autostazione Lampugnano.
Available at Milano, Autostazione Lampugnano: Parking, Taxis, WC.
Accessibility facilities are available at Milano, Autostazione Lampugnano: Elevators, ramps.
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) has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food options include: Cafeteria Italiana (in the station), Fast Food Express (in the station), Trattoria Milano (0.5 km).
Free Wi-Fi. ATMs are located near the main entrance for cash withdrawals.
Ticket office support is available at Milano, San Donato - Settore B (Viale Giuseppe Impastato).
Available at Milano, San Donato - Settore B (Viale Giuseppe Impastato): Parking, Taxis, WC.
Accessibility facilities are available at Milano, San Donato - Settore B (Viale Giuseppe Impastato): Elevators, ramps.
Here are some other resources that might have the information you need