We have spent the last few days in Belgrade, Serbia and Zagreb, Croatia. Although they are both the two largest cities in the former Yugoslavia, the contrast could hardly be greater.
Belgrade is a sometimes-dirty city unready for general tourism with only a few interesting sites. Zagreb is a great, modern city ready to take its place with other major tourism cities in Europe – it often feels like Northern Italy (just with a Slavic language).
At first, we were very unhappy with Belgrade. The train station is messy and in the bad part of town, it has few services and no ATMs, and the neighborhoods around it are full of crumbling old buildings that look like they have not seen any care since before World War II.
Eventually, we found some better parts of town. There is a bohemian neighborhood with fun restaurants, and the main pedestrain area has nice stores and places to eat and drink. Also, the old (ruined) castle is one of the most impressive set of fortifications I have ever seen in Europe.
However, those nice parts were not enough to make up for the fact that the vast majority of the city needs years of care to make Belgrade a standard place to visit.
Our experience in Zagreb was better from the moment we stepped off the train; the train station is clean and useful, with free city maps and English-speaking information services. Outside the station, we were greeted with a lively (and safe-feeling) square in the updated center of town, and public transportation to the hostel was fast and effective (plus the Ravnice Hostel is great).
Within the city, the buildings have been fixed up (it is unbelievable that there was a war here only ten years ago). The main market is clean and comprehensive, the churches and museums are top-notch, and the food is good. There is also a fascinating cemetery a bit out of town with thousands of ornate tombs, everyone from the first president of independent Croatia to the German and Jewish families that were here from the Austrian Empire days. Of course, Zagreb is a bit more expensive than Belgrade is, but it is still cheaper than Western Europe.
Really, Zagreb feels like Western Europe, sometimes like Germany and sometimes like Italy. Parts of Belgrade feels like the worst parts of Moscow.