The average train between Budapest and Belgrade takes 8h 14m and the fastest train takes 6h 29m. The train service runs several times per day from Budapest to Belgrade. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run every 4 hours between Budapest and Belgrade. The earliest departure is at 5:50 AM in the morning, and the last departure from Budapest is at 10:00 PM which arrives into Belgrade at 9:19 AM. All services require a transfer at Szeged and take an average of 8h 14m. The schedules shown below are for the next available departures.
Arrives next day


11h 50m • 2 changes
Arrives next day


11h 19m • 2 changes


7h 29m • 2 changes


6h 29m • 2 changes


6h 50m • 2 changes


6h 29m • 2 changes


7h 29m • 2 changes


6h 29m • 2 changes


6h 50m • 2 changes


6h 29m • 2 changes


7h 29m • 2 changes


6h 29m • 2 changes


6h 50m • 2 changes


6h 29m • 2 changes


7h 29m • 2 changes


6h 29m • 2 changes


6h 50m • 2 changes


6h 29m • 2 changes


7h 29m • 2 changes


6h 29m • 2 changes


6h 50m • 2 changes


6h 29m • 2 changes
Want to know about travelling from Budapest to Belgrade? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Budapest to Belgrade. However, there are services departing from Budapest station and arriving at Belgrade station via Szeged. The journey, including transfers, takes approximately 8h 14m.
Budapest to Belgrade train services, operated by Hungarian Railways (MÁV), depart from Budapest-Nyugati station.
Budapest to Belgrade train services, operated by Hungarian Railways (MÁV), arrive at Beograd Centar station.
The distance between Budapest and Belgrade is 319 km. The road distance is 423 km.
You can take a train from Budapest-Nyugati to Beograd Centar via Szeged and Subotica in around 7h 17m.