Traveling by train in Serbia is the slowest and most unpredictable. The state of the railroads is pretty bad, and in recent years intensive revitalization and restoration works have been under the way. That's why changes in time table, trains routes and length of travel are frequent. So before you decide to travel to Belgrade by train check the current status of the railroad traffic on some of following pages: 

http://serbianrailways.com/

http://www.srbvoz.rs/eng/page67.html

http://www.srbvoz.rs/eng/timetable.html

The old railway station in the center of Belgrade is closed, and the new one, Main Railway Station Centre - Prokop, has not yet been fully completed. Therefore, trains departs/arrive from/to different stations, even small and unsuitable.

Belgrade’s Main Railway Station Centre - Prokop is right beside the highway, and just a few kilometers away from the city center. All national and international trains stop here except for trains coming out of Pančevo, Zrenjanin, Vršac and Timişoara, which stop at Pančevački Most station (with connection by BG Train (kind of a subway) to the Main Railway Station Centre, New Belgrade and suburbs), and trains coming from Bar and Podgorica, which stop at Topčider Station.

Consider this! It is best to buy tickets at the train station (credit cards are also accepted). The international ticket counters are numbers 11 and 12. The station has luggage facilities working 24 hours that cost 110 RSD (~1 EUR) per day.

Currently (March 2019), the following international direct trains operates to Belgrade:

  • Budapest (temporarily operate only to Novi Sad - due to ongoing infrastructure works, rail traffic between Belgrade and Novi Sad has been suspended since February 1, 2019 - read more):
    Two daily trains between Budapest and Belgrade. InterCity Avala leaves at 12:05 from Budapest – Keleti station, arriving in Belgrade at 20:13. Another daily train, the Ivo Andrić leaves at 08:05 from Budapest – Keleti station, arriving at 16:32. In addition to that, the overnight train Belgrade leaves at 22:25 from Budapest – Keleti station and arrives in Belgrade at 06:21. There are reservation – free seats for all trains. One way ticket is 15 EURO and the return ticket is 26 EUR (this offer is called the “Belgrade special”, as of July 2016).
  • Ljubljana: One daytime train, leaving at 08:25 and one night train, leaving at 21:05. There is a discounted Belgrade Special ticket, non-refundable and bound to a specific train and day, cost is 25 EUR (one way, reservation included in price), but there are only 6 tickets per train.
  • Podgorica and Bar, Montenegro: One daytime and one night train (plus 2 more during the summer season). The price to Bar is 21 EUR plus a 3 EUR compulsory seat reservation or 6 EUR couchette reservation (6 seats).
  • Skopje: One daytime train, leaving at 08:20 and a night train, leaving at 22:14. Return ticket costs EUR 32.60 EUR (“Serbia special”).
  • Sofia: One night train, which leaves at 20:30. One way ticket costs 20.60 EUR and 6 EUR for couchette reservation.
  • Thessaloniki: There is a train which leaves at 18:30. One way ticket costs 33.80 EUR, return 54 EUR.
  • Timişoara: Two daily trains (06:50 and 15:38). You’ll have to make 2 easy train changes to Belgrade: First, from Timişoara – Nord station take the short train trip to Vršac station and then you catch a train from Vršac station to Belgrade – Dunav station. The return ticket from Timişoara – Nord to Belgrade – Dunav costs 14 EUR, just ask for the “Banat Special”. There are no direct trains to Bucharest.
  • Vienna: (temporarily operate only to Novi Sad - due to ongoing infrastructure works, rail traffic between Belgrade and Novi Sad has been suspended since February 1, 2019 - read more):
    Daily train from Vienna – Hauptbahnhof at 09:12. The return ticket costs 70 EUR.
  • Zagreb: One daytime train, leaving at 11:05 and one night train, leaving at 23:48. The regular ticket costs 24.40 EUR one way, while the return ticket costs 48.80 EUR. It is important to emphasize that every additional passenger has a 50% discount for the return ticket (just ask for the “City Star” ticket). For example, the “City Star” return ticket costs 73.20 EUR for two passengers.