The average train between Belgrade and Budapest takes 8h 17m and the fastest train takes 6h 9m. The train service runs several times per day from Belgrade to Budapest. 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 Belgrade and Budapest. The earliest departure is at 6:00 AM in the morning, and the last departure from Belgrade is at 10:00 PM which arrives into Budapest at 10:09 AM. All services require a transfer at Subotica and take an average of 8h 17m. The schedules shown below are for the next available departures.


7h 9m • 2 changes


6h 9m • 2 changes


7h 9m • 2 changes
Arrives next day


12h 4m • 2 changes


6h 9m • 2 changes


7h 9m • 2 changes


6h 9m • 2 changes


7h 9m • 2 changes


6h 9m • 2 changes


7h 9m • 2 changes


6h 9m • 2 changes


7h 9m • 2 changes


6h 9m • 2 changes


7h 9m • 2 changes


6h 9m • 2 changes


7h 9m • 2 changes


6h 9m • 2 changes


7h 9m • 2 changes


6h 9m • 2 changes


7h 9m • 2 changes


6h 9m • 2 changes


7h 9m • 2 changes


6h 9m • 2 changes


7h 9m • 2 changes
Want to know about travelling from Belgrade to Budapest? 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 Belgrade to Budapest. However, there are services departing from Belgrade station and arriving at Budapest station via Subotica. The journey, including transfers, takes approximately 8h 17m.
Belgrade to Budapest train services, operated by Srbija Voz, depart from Beograd Centar station.
Belgrade to Budapest train services, operated by Srbija Voz, arrive at Budapest-Nyugati station.
The distance between Belgrade and Budapest is 319 km. The road distance is 423 km.
You can take a train from Beograd Centar to Budapest-Nyugati via Subotica and Szeged in around 7h 5m.