Dubrovnik and Zagreb – it’s virtually impossible to think of Croatia without envisioning both picturesque destinations. But these two cities couldn’t be more different from each other. Dubrovnik encapsulates the epitome of Croatia’s dreamy Dalmatian Coast – with its ancient white-washed walls perched on a cliff bathed by the turquoise blue waters of the Adriatic Sea. Meanwhile, Zagreb has all the charm of a picturesque medieval town – with stony ruins, cobbled streets, and a quirky food scene. Both of them are quintessentially Croatian and a must on any traveler’s bucket list. Fortunately, getting from Dubrovnik to Zagreb and vice versa is easy – here’s how!

Drive
There is a special magic to exploring a destination at your own pace – and there’s no better way to do so than to pick up a map and set out on the open road. The easiest part will be choosing your ride: both Dubrovnik Airport and Zagreb Airport offer plenty of car rental options, although if you’re traveling in peak season it’s advised to book your rental in advance. What comes after that is up to you! You can opt for the most direct route that takes you through Croatia’s main highway between Zagreb and Dubrovnik in about 6 hours. Or you can choose to stop along the way and explore national treasures like the Plitvice Lakes, Krka National Park, Zadar, and Split.
Take a Bus
If driving doesn’t appeal to you, there are also plenty of buses that make the journey between Dubrovnik and Zagreb. You can opt for the direct route that takes you between Zagreb Central Bus Station and Dubrovnik’s main bus station in about 12 hours. There are plenty of buses running this service daily and tickets cost about 200 HRK one-way. Alternatively, you can choose to break up your trip with a stop in Split. Both cities (Dubrovnik and Zagreb) offer daily bus services to and from Split, making this a great destination to take break up a long bus drive and rest by the seaside before continuing onward.
Hop on a Ferry
It might seem odd to have a sea-way route between two cities in mainland Croatia – but that’s the beauty of this country: the Adriatic Sea is always an option for part of your journey. Since it’s possible to break up your bus ride into two parts with a pit stop in Split, you can actually change your mode of transportation altogether here and opt for a ferry ride to take you between Split and Dubrovnik. It might take you a bit longer than traveling by bus – but the views and the seaside breeze are undoubtedly worth it.
Fly
If time is of the essence, or you simply prefer the comfort of flying, booking a domestic flight between Zagreb and Dubrovnik is your optimal choice for traveling between these two cities. Croatia Airlines is the national airline and it operates several domestic flights every day year-round. You’ll find plenty of daily flights between Dubrovnik and Zagreb – just keep in mind that you’ll likely have to book further transport to get from the airports into town. The journey takes about 45 minutes and prices start at 250 HRK for one-way flights.