Croatia to Serbia Overland via Bosnia: Zagreb to Belgrade & Jasenovac Memorial

Bridge on Una river between Croatia and Bosnia & Herzegovina at Hrvatska Dubica-Kozarska Dubica Border Crossing
Bridge on Una river between Croatia (right) and Bosnia & Herzegovina at Hrvatska Dubica-Kozarska Dubica Border Crossing

We woke in Zagreb after driving in from Venice via Lake Bled and Ljubljana, then started with coffee off Tkalčićeva Street. The city was familiar from an earlier trip, but the truck was different: Shehzadi, our Toyota Tundra, was now carrying us east across Europe.

The route would cross Bosnia and Herzegovina before turning back through Croatia to Serbia. Between the border posts sat Donja Gradina and Jasenovac, places where the travelogue needed fewer jokes and better history.

Zagreb to Belgrade — Post Summary

This leg begins with Zagreb's Upper Town, then follows a three-country drive through northern Bosnia and Herzegovina to Belgrade. Between the border crossings are the Una and Sava river country, lunch in Kozarska Dubica, and the memorial sites at Donja Gradina and Jasenovac.

What's Covered
🏛️Zagreb Old Town — St. Mark's Church, Stone Gate, Dolac Market, cathedral restoration
🌉Croatia to Bosnia — Hrvatska Dubica–Kozarska Dubica, Una crossing
🌊Kozarska Dubica — Una River, Restoran Una, Orthodox church
🕊️Donja Gradina — Jasenovac execution site, Poplar of Horror
🛂Bosnia to Croatia — Jasenovac crossing, secondary check, Stone Flower
🚧Croatia to Serbia — Bajakovo–Batrovci, A3/E70
🌃Belgrade — Sava and Danube, hotel, kafana dinner

Belgrade was the night's target, but the route bent south first. We left Zagreb for the Una crossing at Hrvatska Dubica, entered Bosnia and Herzegovina for Kozarska Dubica and Donja Gradina, returned to Croatia at Jasenovac, then turned east to Serbia. Three international borders before dinner. It was one of those days when the paperwork was not the complicated part.

FromZagreb, Croatia
ToBelgrade, Serbia
CountriesCroatia, Bosnia and Herzegovina, Serbia
Border CrossingsHrvatska Dubica–Kozarska Dubica; Jasenovac–Gradina Donja; Bajakovo–Batrovci
RoadsCroatia Route 47; Bosnia M14; A3/E70 in Croatia and Serbia
VehicleShehzadi — 2024 Toyota Tundra
Key StopsZagreb, Kozarska Dubica, Donja Gradina, Jasenovac, Belgrade

Route at a Glance

  1. Zagreb — Upper Town, Dolac Market, cathedral
  2. Hrvatska Dubica–Kozarska Dubica — Croatia to Bosnia across the Una
  3. Kozarska Dubica — Una River, lunch, Orthodox church
  4. Donja Gradina — memorial grounds and Poplar of Horror
  5. Jasenovac–Gradina Donja — return to Croatia and Stone Flower
  6. Bajakovo–Batrovci — Croatia to Serbia
  7. Belgrade — Sava/Danube confluence, hotel and kafana

Zagreb Old Town: St. Mark's Church, Stone Gate and Dolac Market

We had visited Zagreb on our 2019 Central Europe road trip, then in a rental car. The Upper Town was still familiar. This time, however, scaffolding and restoration work kept interrupting the postcard views. Zagreb had acquired an impressive amount of construction netting.

St. Mark's Church and Square

St. Mark's Church, Zagreb, Croatia
St. Mark's Church, Zagreb, Croatia

We walked through Gornji Grad, also called Gradec or Grič, to St. Mark's Church. Its tiled roof carries the coats of arms of Croatia, Dalmatia and Slavonia. The Croatian Parliament faces the square, while Banski dvori serves as the seat of the Croatian Government. Politics had therefore managed to occupy excellent real estate.

Stone Gate

Next came the Stone Gate (Kamenita Vrata), the surviving medieval gate into Gradec. Inside the passage, the shrine to Our Lady of the Stone Gate turns a city thoroughfare into a small place of prayer.

Zagreb tradition holds that the image of the Virgin Mary survived a destructive fire in 1731. Candles still burn beside it, and people pause to pray while everyone else quietly negotiates the narrow passage around them.

Dolac Market

We sat at a café by Dolac Market, Zagreb's central open-air food market just above Ban Jelačić Square. Red umbrellas covered the produce stalls, and the traditional market women known as kumice were still part of the scene.

Dolac Market, Zagreb, Croatia
Dolac Market, Zagreb, Croatia

The market supplied the edible part of the morning: fruit, vegetables, flowers, honey and bread above, with meat, cheese and other foods in the covered sections. Sir i vrhnje, cottage cheese with sour cream, is a Zagreb staple. We also found Paški sir from Pag island, kulen, pršut and čvarci. Cash remained useful, and the two ATMs along the market square worked for us.

Zagreb Cathedral

Zagreb Cathedral spires under restoration scaffolding
Zagreb Cathedral under restoration scaffolding

Zagreb Cathedral looked very different from when we saw the Cathedral here in 2019. The March 2020 Zagreb earthquake badly damaged the cathedral, including its towers, and restoration was still a major project when we returned in 2025. Earthquakes have edited this building before: after the severe 1880 quake, it was rebuilt in the Neo-Gothic form that gave Zagreb the twin-spired skyline we remembered. Stone, apparently, keeps a revision history.

Zagreb to Bosnia: Hrvatska Dubica–Kozarska Dubica

We left Zagreb for the Hrvatska Dubica-Kozarska Dubica Border Crossing. Cornfields, village steeples and storks carried us toward the Una River, which forms the boundary here between Croatia and Bosnia and Herzegovina.

Crossing the Una at Hrvatska Dubica–Kozarska Dubica

The Croatian guard barely glanced at our passports. On the Bosnian side we got smiles, a little curiosity about Shehzadi, stamps and a wave through. It was a pleasantly small amount of bureaucracy for an international border.

Welcome to Republika Srpska sign beside the Una River in Kozarska Dubica, Bosnia and Herzegovina
Welcome to Republika Srpska beside the Una River after crossing into Kozarska Dubica, Bosnia and Herzegovina

Kozarska Dubica: The Una River, Lunch and an Orthodox Church

We rolled into Kozarska Dubica, formerly known as Bosanska Dubica, on the Bosnian bank of the Una. The Una, rather than the Sava, is the town's defining river. The Sava enters the story farther downstream: the Una reaches it near Jasenovac, where our route would soon bring us to the memorial sites. Geography, for once, was being almost suspiciously cooperative.

Una River at Kozarska Dubica, Bosnia and Herzegovina
Una River at Kozarska Dubica, Bosnia and Herzegovina

The Una belongs to the wider Sava and Danube drainage system, but here it felt local and immediate: a green river beside town, crossed only minutes earlier from Croatia. We followed it through Kozarska Dubica before lunch.

Lunch by the Una River

We stopped at Restoran Una for ćevapi, fresh bread and onion, with plum rakija on the side. Our table overlooked the river. The rakija required no geological research; one cautious sip supplied all necessary data.

Serbian Orthodox Church in Kozarska Dubica

The yellow-and-red church we visited is the Church of the Holy Apostles Peter and Paul. The masonry church on this site was built in 1895, destroyed in 1943 during the Second World War, and rebuilt by 1973. Its bright exterior hides a much rougher history.

We stepped inside, lit a candle, and rested for a moment in the quiet interior. The church had already survived enough without requiring assistance from our adjectives.

Donja Gradina and the Jasenovac Camp Complex

Donja Gradina needed careful history more than dramatic language. During the Second World War, the Ustaša regime of the Independent State of Croatia ran the wider Jasenovac camp complex and used it to imprison and murder Serbs, Jews, Roma and political or religious opponents. Donja Gradina became the largest execution site within that system. Memorial research has identified 105 mass graves in nine grave fields here. We are leaving disputed victim totals out; the ground does not need arithmetic to make the history comprehensible.

We walked quietly across the memorial grounds. Among the engraved stones, one carries words by Croatian poet Jure Kaštelan from “Maslina” (“Olive Tree”).

Stone engraved with a quote from Jure Kaštelan's Maslina at Donja Gradina Memorial Site
A quote from Jure Kaštelan's poem "Maslina" at Donja Gradina Memorial Site, Bosnia and Herzegovina

Its short inscription reads:

“Olive tree into cypress, cypress into bitter-vetch. A vine flows into wild-garlic.”

Poplar of Horror

Poplar of Horror (Топола ужаса) - Donja Gradina Memorial Site, Gradina Donja, Bosnia and Herzegovina
Poplar of Horror (Топола ужаса) - Donja Gradina Memorial Site, Bosnia and Herzegovina

The Poplar of Horror (Topola užasa) was used for hangings and torture. The original tree rotted from the inside and collapsed in 1978. It was then conserved and is now displayed horizontally under protection at Donja Gradina.

Stone plaque beside the Poplar of Horror at Donja Gradina Memorial Site, Bosnia and Herzegovina
Stone plaque next to the Poplar of Horror, Donja Gradina Memorial Site, Bosnia and Herzegovina

A stone plaque beside the preserved tree explains why prisoners called it the “Tree of Torture” and records its collapse and later protection. The plaque says:

The Poplar of Horror

The Poplar of Horror represents one of the most terrible symbols of Gradina and the entire Jasenovac camp complex.

Beneath the poplar and on its trunk, cruel hangings were carried out and unheard-of slaughtering sessions took place.

During the hangings, the victims were tortured in the most savage way, which is why the inmates called this tree the "Tree of Torture".

Completely rotted from the inside, the tree collapsed in 1978, after which measures were taken for its protection and presentation.

Donja Gradina to Jasenovac: Back Into Croatia

From Donja Gradina we followed the Bosnian M14 toward the Jasenovac - Gradina Donja Border Crossing, crossed back into Croatia and joined Route 47 toward the A3/E70. Shehzadi had now crossed the Croatia–Bosnia border twice in one afternoon. The passport stamps were beginning to develop a social life of their own.

A Border Answer That Was Too Geographically Accurate

A guard asked where we were coming from. Since we had crossed from Europe into Africa through Morocco earlier in this same expedition, we answered, quite truthfully, “Africa.”

That answer produced raised eyebrows, surprise and a secondary check for Shehzadi. 😂

In retrospect, Italy→Slovenia→Croatia→Bosnia would have been more useful. Accuracy and usefulness are cousins, not twins. The video caught a glimpse of the whole three-country day:

Watch: 3 Countries in ONE Day again! Breakfast in Croatia, Lunch in Bosnia, Dinner in Serbia (Full Video Link)

Just after returning to Croatia, we could see the Stone Flower near the village of Jasenovac.

The Stone Flower

The Stone Flower (Kameni cvijet) is the central monument at the Jasenovac Memorial Site. Architect Bogdan Bogdanović designed the reinforced-concrete memorial for the former Camp III (Brickworks) site, and it was unveiled in 1966.

Stone Flower (Kameni cvijet) at Jasenovac Memorial Site, Croatia
Stone Flower (Kameni Cvijet) aka Flower Monument (Cvjetni spomenik), Jasenovac, Croatia

The flower form avoids a literal depiction of violence. Its documented symbolism turns toward life and freedom while keeping the former camp grounds around it visible. After Donja Gradina, the restraint felt right. There was nothing useful to improve with extra adjectives.

Croatia to Serbia: Bajakovo–Batrovci Border

We followed the A3/E70 east across the Croatian plain to the Bajakovo–Batrovci border crossing into Serbia. Trucks stretched down their lanes while ours moved faster. Croatian exit formalities came first, then Serbian entry checks. After a day of small crossings, this one felt properly busy.

Belgrade: Sava, Danube and a Kafana Dinner

Once through, the Serbian A3/E70 carried us toward Belgrade. We crossed the Sava into the city as evening settled in. Below the fortress and Kalemegdan, the Sava meets the Danube at Ušće Save u Dunav, one of Belgrade's defining pieces of geography.

We got lost for a while, then found Hotel Villa Bulevar on Bulevar Oslobođenja. Its secure courtyard gave Shehzadi a berth for the night. Dinner came in a tucked-away kafana with live starogradska music, ćevapi, ajvar and local wine. Finding the hotel had somehow become the day's final navigation exam.

The mileage was the easy part to remember. Donja Gradina and Jasenovac put a different weight on the route. Long overland journeys connect places on a map; they also make us notice what happened between those places. Some stretches deserve a joke. This one, for a while, did not.

We rest tonight. Next, we spend the morning in Belgrade, drive through Niš in Serbia, and cross into Bulgaria for Sofia. Istanbul waits farther east.

- The Vagabond Couple & Shehzadi

Related Journeys