- Must visit
Croatian Museum of Tourism
Main local museum inside Villa Angiolina, presenting the history of tourism on the Croatian coast through exhibits on hotels, travel, and spa culture.
Cheapest price
$21
Average price
$234
Fastest journey
2 h 30 m
Average duration
2 h 42 m
Buses per day
81
Distance
140 km
The best way to find a cheap bus ticket from Zagreb to Opatija is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Zagreb to Opatija will cost around $234 if you buy it on the day, but the cheapest tickets can be found for only $21.
Of the 81 buses that leave Zagreb for Opatija on Thu, Aug 27, 81 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Thu, Aug 27 the direct buses cover the 140 km distance in an average of 2 h 42 m but if you time it right, some buses will get you there in just 2 h 30 m .
On Thu, Aug 27 the slowest buses will take 2 h 45 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



Omio recommends booking the bus as it is the most popular option from Zagreb to Opatija among Omio's users. If you are prioritising price take the bus with prices starting from $11. For those with little time consider booking a bus which can get you there in 2h 50m. The ticket price range depends on the travel mode: a bus costs an average of $11, and a bus costs an average of $11.
Distance: 86 miles (140 km)
Most popular Bus | Driving |
|---|---|
$222 Average price Cheapest | $46 Average price (fuel + tolls) |
3h 20m Average total duration Fastest 2h 50m Onboard + 30m Additional time* | 2h 5m Average total duration (door-to-door) |
![]() Most popular bus company | Your own car or car rental |
Direct Options | Direct Options |
You'll arrive about -1h -45m sooner (2h 50m by bus vs 2h 5m by car) and save roughly $-176.32 (€-142.04) compared to fuel and tolls ($222 (€179) vs $46 (€37)). You also skip the drive itself — no traffic stress, no parking, and you can use the time to work, nap, or catch up on a series with the onboard Wi-Fi.
Direct coaches are operated by Nomago, Autotrans by Arriva, Nomago Intercity operated by Arriva, FlixBus, GoOpti, Brioni, Brioni Pula d.o.o., Autobusni Promet.
Driving is still worth considering if you're travelling with bulky luggage, need flexibility on departure times, or plan to stop along the way.
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator FlixBus | Departure Time 12:00AM | Arrival Time 03:00AM | Duration 3h00 | Departure days Mon | Cheapest price $15 |
Operator GoOpti | Departure Time 12:00AM | Arrival Time 02:45AM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator GoOpti | Departure Time 01:00AM | Arrival Time 03:45AM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator FlixBus | Departure Time 01:00AM | Arrival Time 04:00AM | Duration 3h00 | Departure days Mon | Cheapest price $19 |
Operator GoOpti | Departure Time 02:00AM | Arrival Time 04:45AM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator FlixBus | Departure Time 02:00AM | Arrival Time 05:00AM | Duration 3h00 | Departure days Tue, Wed, Thu, Fri, Sat, Sun | Cheapest price $16 |
Operator GoOpti | Departure Time 03:00AM | Arrival Time 05:45AM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator GoOpti | Departure Time 04:00AM | Arrival Time 06:45AM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator GoOpti | Departure Time 05:00AM | Arrival Time 07:45AM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator GoOpti | Departure Time 06:00AM | Arrival Time 08:45AM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator GoOpti | Departure Time 07:00AM | Arrival Time 09:45AM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator Nomago Intercity operated by Arriva | Departure Time 07:30AM | Arrival Time 10:35AM | Duration 3h05 | Departure days Tue, Wed, Thu, Fri, Sat, Sun | Cheapest price $21 |
Operator GoOpti | Departure Time 08:00AM | Arrival Time 10:45AM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator FlixBus | Departure Time 08:00AM | Arrival Time 10:30AM | Duration 2h30 | Departure days Tue, Wed, Thu, Fri, Sat, Sun | Cheapest price $17 |
Operator GoOpti | Departure Time 09:00AM | Arrival Time 11:45AM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator GoOpti | Departure Time 10:00AM | Arrival Time 12:45PM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator GoOpti | Departure Time 11:00AM | Arrival Time 01:45PM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator Nomago Intercity operated by Arriva | Departure Time 11:30AM | Arrival Time 02:50PM | Duration 3h20 | Departure days Sun | Cheapest price $21 |
Operator Nomago | Departure Time 11:30AM | Arrival Time 02:50PM | Duration 3h20 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $21 |
Operator GoOpti | Departure Time 12:00PM | Arrival Time 02:45PM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator GoOpti | Departure Time 01:00PM | Arrival Time 03:45PM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator FlixBus | Departure Time 01:00PM | Arrival Time 08:40PM | Duration 7h40 | Departure days Mon | Cheapest price $42 |
Operator Nomago Intercity operated by Arriva | Departure Time 01:30PM | Arrival Time 04:20PM | Duration 2h50 | Departure days Tue, Wed, Thu, Fri, Sat, Sun | Cheapest price $21 |
Operator FlixBus | Departure Time 02:00PM | Arrival Time 09:40PM | Duration 7h40 | Departure days Mon | Cheapest price $39 |
Operator GoOpti | Departure Time 02:00PM | Arrival Time 04:45PM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator Nomago Intercity operated by Arriva | Departure Time 03:00PM | Arrival Time 06:20PM | Duration 3h20 | Departure days Sun | Cheapest price $21 |
Operator GoOpti | Departure Time 03:00PM | Arrival Time 05:45PM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator Nomago | Departure Time 03:00PM | Arrival Time 06:20PM | Duration 3h20 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $21 |
Operator GoOpti | Departure Time 04:00PM | Arrival Time 06:45PM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator GoOpti | Departure Time 05:00PM | Arrival Time 07:45PM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $236 |
Operator GoOpti | Departure Time 06:00PM | Arrival Time 08:45PM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $235 |
Operator GoOpti | Departure Time 07:00PM | Arrival Time 09:45PM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $235 |
Operator GoOpti | Departure Time 08:00PM | Arrival Time 10:45PM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $235 |
Operator GoOpti | Departure Time 08:45PM | Arrival Time 11:30PM | Duration 2h45 | Departure days Tue | Cheapest price $68 |
Operator GoOpti | Departure Time 09:00PM | Arrival Time 11:45PM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $68 |
Operator GoOpti | Departure Time 10:00PM | Arrival Time 12:45AM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $68 |
Operator GoOpti | Departure Time 11:00PM | Arrival Time 01:45AM | Duration 2h45 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $68 |
The table below shows live departures for Zagreb to Opatija buses for tomorrow, Thursday, August 27. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
![]() | 12:00 AM Zagreb, Train Station | 2h45 | 2:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 12:00 AM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 2:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 12:00 AM Zagreb, Bus Station | 2h45 | 2:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 1:00 AM Zagreb, Bus Station | 2h45 | 3:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 1:00 AM Zagreb, Train Station | 2h45 | 3:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 1:00 AM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 3:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 2:00 AM Zagreb, Train Station | 2h45 | 4:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 2:00 AM Zagreb, Bus Station | 2h45 | 4:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 2:00 AM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 4:45 AM Opatija, Bus Station | 0 transfersDirect | |
FlixBus | 2:00 AM Zagreb, Bus Station | 3h00 | 5:00 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 3:00 AM Zagreb, Train Station | 2h45 | 5:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 3:00 AM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 5:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 3:00 AM Zagreb, Bus Station | 2h45 | 5:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 4:00 AM Zagreb, Bus Station | 2h45 | 6:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 4:00 AM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 6:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 4:00 AM Zagreb, Train Station | 2h45 | 6:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 5:00 AM Zagreb, Train Station | 2h45 | 7:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 5:00 AM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 7:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 5:00 AM Zagreb, Bus Station | 2h45 | 7:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 6:00 AM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 8:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 6:00 AM Zagreb, Train Station | 2h45 | 8:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 6:00 AM Zagreb, Bus Station | 2h45 | 8:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 7:00 AM Zagreb, Bus Station | 2h45 | 9:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 7:00 AM Zagreb, Train Station | 2h45 | 9:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 7:00 AM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 9:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 7:30 AM Zagreb, Bus Station | 3h05 | 10:35 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 7:30 AM Zagreb, Bus Station | 3h11 | 10:41 AM Ičići, Liburnijska ulica | 0 transfersDirect | |
![]() | 8:00 AM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 10:45 AM Opatija, Bus Station | 0 transfersDirect | |
FlixBus | 8:00 AM Zagreb, Bus Station | 2h30 | 10:30 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 8:00 AM Zagreb, Train Station | 2h45 | 10:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 8:00 AM Zagreb, Bus Station | 2h45 | 10:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 9:00 AM Zagreb, Train Station | 2h45 | 11:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 9:00 AM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 11:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 9:00 AM Zagreb, Bus Station | 2h45 | 11:45 AM Opatija, Bus Station | 0 transfersDirect | |
![]() | 10:00 AM Zagreb, Train Station | 2h45 | 12:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 10:00 AM Zagreb, Bus Station | 2h45 | 12:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 10:00 AM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 12:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 11:00 AM Zagreb, Train Station | 2h45 | 1:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 11:00 AM Zagreb, Bus Station | 2h45 | 1:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 11:00 AM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 1:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 11:30 AM Zagreb, Bus Station | 3h20 | 2:50 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 11:30 AM Zagreb, Bus Station | 3h23 | 2:53 PM Ičići, Liburnijska ulica | 0 transfersDirect | |
![]() | 12:00 PM Zagreb, Train Station | 2h45 | 2:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 12:00 PM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 2:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 12:00 PM Zagreb, Bus Station | 2h45 | 2:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 1:00 PM Zagreb, Train Station | 2h45 | 3:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 1:00 PM Zagreb, Bus Station | 2h45 | 3:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 1:00 PM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 3:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 1:30 PM Zagreb, Bus Station | 2h50 | 4:20 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 2:00 PM Zagreb, Train Station | 2h45 | 4:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 2:00 PM Zagreb, Bus Station | 2h45 | 4:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 2:00 PM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 4:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 3:00 PM Zagreb, Bus Station | 2h45 | 5:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 3:00 PM Zagreb, Train Station | 2h45 | 5:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 3:00 PM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 5:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 3:00 PM Zagreb, Bus Station | 3h20 | 6:20 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 3:00 PM Zagreb, Bus Station | 3h23 | 6:23 PM Ičići, Liburnijska ulica | 0 transfersDirect | |
![]() | 4:00 PM Zagreb, Trg bana Jelačića (Ban Jelačić Square) | 2h45 | 6:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 4:00 PM Zagreb, Train Station | 2h45 | 6:45 PM Opatija, Bus Station | 0 transfersDirect | |
![]() | 4:00 PM Zagreb, Bus Station | 2h45 | 6:45 PM Opatija, Bus Station | 0 transfersDirect | |
Find all the dates and times for this journey
Compare bus 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 Opatija run on average 34 times per day, taking around 2h 50m. Cheap bus tickets for this journey start at $11 (€9) if you book in advance.
There are 33 buses per day. The earliest bus runs at 01:00, the last at 23:55. The fastest bus covers the 86 miles (140 km) distance in 2h 20m.
Distance 86 miles (140 km) |
Average bus duration 2h 50m |
Cheapest ticket price $11 (€9) |
Buses per day 34 |
Direct buses 33 |
Fastest bus 2h 20m |
First bus 1:00 AM |
Last bus 11:55 PM |
Cheapest Month Jan |
Cheapest Day Sat |
High Season Jul - Sep |
Low Season Oct - Dec |
Busiest Day Tue |
Least Busy Day Sat |
Best time to book 14 days |
Discover the best of Opatija — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Opatija trip today.
Main local museum inside Villa Angiolina, presenting the history of tourism on the Croatian coast through exhibits on hotels, travel, and spa culture.
Exhibition pavilion in Angiolina Park used by the Croatian Museum of Tourism for changing art, design, and heritage displays in a historic garden setting.
Historic villa used for exhibitions and cultural programs. Visitors come for temporary art and heritage displays in an atmospheric period interior.
The famous 12 km seaside promenade linking Opatija with nearby coastal settlements. It is the town’s signature walk for views, villas, and sea air.
Historic landscaped park around Villa Angiolina with exotic plants, sculptures, and sea views. Ideal for a relaxed walk in Opatija’s classic setting.
Central promenade and public space along the waterfront, lined with grand hotels and event venues. A practical base for sightseeing and evening walks.
Scampi from Kvarner Bay, usually grilled or in buzara sauce. They are prized locally for their sweet flavor and are a signature Adriatic specialty of the Opatija area.
A simple coastal dish of white fish baked with potatoes, olive oil, garlic and parsley. It reflects everyday home cooking along the Kvarner and Istrian coast.
Seafood cooked in a light tomato, wine, garlic and parsley sauce, often with scampi, mussels or fish. A classic Adriatic preparation common in local taverns.
Elegant fine dining in Hotel Navis, known for refined Adriatic seafood and bay views. Best for a special meal with contemporary Croatian cooking.
Well-known upscale restaurant in Volosko serving creative seafood and tasting menus. Stylish setting with a strong reputation for modern Croatian cuisine.
Established seafood restaurant by the sea in Volosko, popular for fish, scampi and classic Adriatic dishes in a relaxed traditional atmosphere.
Moderate for the Adriatic coast: lodging is pricier in summer, dining is mid-range, and local buses are affordable versus other resort towns.
Tipping is appreciated but not required. In restaurants, round up or leave 5-10% for good service; round up for taxis and leave small change in cafes.
Official public transport app
Opatija Bus Station -> Slatina, Opatija
Find answers to the most common questions about traveling from Zagreb to Opatija 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 Opatija, this guide helps you travel smarter and with confidence.

Most Zagreb to Opatija buses use the Zagreb, Glavni Kolodvor to Opatija, Autobusni Kolodvor station pair. Use this guide to compare Zagreb and Opatija bus stations on this route, check city-centre transport, alongside checking practicalities like bus station facilities and services.
Zagreb, Glavni Kolodvor is 1 km from Zagreb city centre. Public transport options include:
Zagreb, Glavni Kolodvor has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, Shower, and Ticket Office.
Food options include: Cafeteria and snacks available inside the station.
Free WiFi available in the waiting area. ATMs are aTM located near the main entrance.
Ticket office support is available at Zagreb, Glavni Kolodvor.
Available at Zagreb, Glavni Kolodvor: Parking, Taxis, WC.
Accessibility facilities are available at Zagreb, Glavni Kolodvor: Wheelchair ramps and accessible toilets available.
Velika Gorica, Zagreb Airport (Odlazak) is 3 km from Zagreb city centre. Public transport options include:
Velika Gorica, Zagreb Airport (Odlazak) has practical services for this route, including Wifi, Parking, ATM, Taxis, Accessibility, WC, and Ticket Office.
Free Wi-Fi. ATMs are located inside the terminal near the entrance.
Ticket office support is available at Velika Gorica, Zagreb Airport (Odlazak).
Available at Velika Gorica, Zagreb Airport (Odlazak): Parking, Taxis, WC.
Accessibility facilities are available at Velika Gorica, Zagreb Airport (Odlazak): Elevators, ramps.
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.
Here are some other resources that might have the information you need