Getting to Serbia
Belgrade - The main airport of Serbia is the Belgrade Nikola Tesla Airport (BEG), located 18km from downtown Belgrade. Major European airlines fly to Belgrade. Serbian national airline was previously called Jat Airways but, after agreeing a partnership with Etihad Airways in 2013, changed its name to Air Serbia. It flies to all major cities in Europe, northern Africa and the Middle East.
Several international trains (day and night) connect Belgrade with Austria, Hungary, Slovenia, Croatia, Montenegro, Macedonia, Romania and Bulgaria.Trains to Romania, Bulgaria and Macedonia tend to be often quite late (about an hour) and they are allegedly reported to oftenly consist of old, not very comfortable, cars. Trains usually are very safe. Consider that many overnight trains cross country border in the middle of the night and custom officers won't have scruple to wake you up.
There's no train connection from Greece, as in Jan 2011 Greek Railways suspended all international trains. The former trains from Greece now depart from Skopje, Macedonia.
Vienna - Buses leave from Vienna International Busterminal (Erdberg) almost every day.
Hungary - When you take an international bus from Belgrade towards Germany, a collection is often held inside the bus for paying the Hungarian border guards a fee to let the bus go faster over the border. This is a bribe. On your way into Serbia, it seems cheaper, though the Hungarian border guards will demand all passengers sign a form declaring they offered no gift, cash or otherwise, to Hungarian border police whether they paid a bribe or not.
Sofia (Bulgaria) - There are daily to buses to Niš and Belgrade going from the central bus station next to the central railway station.
There are boat tours, which pass through Belgrade.
These are Trafalgar Tours in English, which cruise along the Danube and have a two day stopover in Belgrade.