Rather Be Exploring

Budapest to Zagreb by Train

January 20, 2025 | 7 Minute Read

The slow, roundabout, non-express way to travel between Hungary and Croatia.

Introduction

Budapest to Zagreb won’t be making any lists of the world’s great train journeys. Or even the world’s good train journeys. But it’s cheap, comfortable, and about the same overall travel time as flying.

Price and Ticket Booking

I paid 17 euros, booking one day in advance through the website of Hungarian national rail carrier MAV. You’ll pay more at the station, and in busier summer months booking a few days ahead is recommended to secure the cheapest fare (which is €17). This included a mandatory €2 fee to book a seat reservation: you can choose either a random (but guaranteed) assignment, a random window/aisle seat, or, as I did, pick your exact seat. I went for seat 61, a seat with a table facing the direction of travel, on the right side (which, in summer months, would have afforded views of Lake Balaton).

International cards are accepted, and the website, while clunky, isn’t difficult to figure out. Tickets are sent as a PDF and shown to on-board inspectors on your device, or you can print them yourself. Buy tickets here: https://jegy.mav.hu/

Station and Departure

MAV class V43 locomotives waiting in Budapest.

A pair of class V43 diesel locomotives standing by in Budapest.

There is one direct train a day linking the two capitals, train number 204. It leaves Budapest’s Déli station at 15:35, scheduled to arrive at Zagreb Glavni Kolodvor 6.5 hours later at 22:00. There’s no need to get to Déli station more than ten minutes before departure: the station is small with only a dozen platforms, and there are no comfortable waiting areas. The station is the terminus of Budapest’s metro line two (the red line), fare 450 forint for a single journey. The metro station is not accessible, and you’ll have to carry luggage up two flights of stairs to reach the rail terminus.

Class V46 locomotive waiting to depart.

The Hungarian V46 locomotive that will take us as far as the Croatian border.

After stopping at a Lidl for food and beer, I spent a few minutes looking at old Soviet locomotives including the V46 model manufactured in the mid-1980s that would take us most of the way to the border, and some even older V43 units hauling local services.

Croatian seating coach.

This Croatian second class seating coach is heading home.

Our train was waiting when I arrived at platform one, and I found my seat without issue. Pay attention to which carriage you board: only two (one Croatian, one Hungarian) make the full journey, with the rest going only as far as the border. Final destinations are displayed prominently on the doors to each carriage.

Sign on coach door listing Zagreb as its final destination.

The carriages heading all the way to Zagreb are clearly marked. The displayed coach number will also appear on your ticket.

We left on time at 15:35 with around ten passengers in my carriage; we would double that at the first stop, Budapest-Kelenföld, though only myself and one other passenger would make the full trip to Zagreb.

On Board

Despite rough appearances, the Hungarian second class carriage was quite comfortable and surprisingly modern, with free WiFi available until the border that was fast enough for streaming. Electronic displays showed our location and updated arrival times for the next few stops.

Display screen showing speed, location, and upcoming stops.

Small display screens keep passengers updated along the way.

There is no restaurant car on board, nor any chances along the journey to purchase food, so bring your own. Drinking alcohol you bring on board is permitted. There are small garbage cans next to each of the four-seater sections with tables, one of which I had to myself for the entire journey.

Can of lager next to dirty train window.

Bringing your own food and drink on board is no problem, and helps pass the time.

The seat was…fine, nothing special. Since I would be travelling by train later on in Croatia, I opted to book a seat in the Hungarian coach so I could try out both. No recline, headrest that moved up or down about an inch and a half, ample legroom. Two-seat pairs have seatback pockets but no table. Power outlets are located throughout the train and worked fine. Washrooms are located at either end of the carriage.

Second class seats in the Hungarian intercity coach.

Second class seats in the Hungarian coach were well-worn, but comfortable enough.

Unfortunately since I travelled in January, sunset was around an hour after departure—so views out the window were limited to the suburbs of Budapest, and then darkness.

Delay and Arrival

Changing locomotives at Gyékényes.

At Gyékényes, our final stop in Hungary, we switched locomotives and just two passenger coaches continued on.

We kept good time right up to the second-last stop before entering Croatia, Nagykanizsa. Here all but myself and one other traveller in my carriage disembarked, and we had a planned 20-minute stop. This is where I expected we would change to a Croatian locomotive, but at our next stop, Gyékényes, we halted for another 20 minutes and I got off to watch the Croatian 1142 series locomotive take over on a dark and foggy night. The station and atmosphere gave off definite “Bridge of Spies” vibes. We crossed the border around half an hour behind schedule.

Standing between tracks with fog obstructing a dark sky.

Not a train I wanted to miss...

Our first stop in Croatia, Kapronca, would turn out to be the last for our “direct” service. After 45 minutes, a friendly employee informed us that our train would be held for an unknown amount of time, but an express train would soon arrive carrying on to Zagreb. She was happy to repeat this information for me in English, and confirmed my Hungarian ticket would still be valid.

Croatian express train waiting to board in Kapronca.

A welcome sight: the Croatian express service that arrived shortly after our train from Budapest was delayed indefinitely.

All but a handful of the Croatian passengers who joined our train in Kapronca promptly got off and crossed the platform, waiting around five minutes for the newer type 7023 unit to pull in. This would make only four stops en route to Zagreb, and as a result I found myself at Zagreb’s Glavni Kolodvor around 45 minutes behind schedule, having covered 350 kilometres and two countries by rail in seven hours and 20 minutes.

Final Thoughts

I didn’t not enjoy my time with MAV. The carriage was clean and comfortable enough, WiFi was a pleasant surprise, and drinking cheap Hungarian beer whilst reading a book is no hardship to pass the time. You can also travel by bus between the two cities in under five hours, which is the more popular option but where’s the fun in that. Booked far enough ahead prices are about the same, though Flixbus wanted a whopping €70 for a next-day service compared to MAV’s €17. Flights with a connection in either Vienna or Belgrade will take about four hours flying time and cost €100-150, though with travel to and from airports you’d have to really hate trains and money to pick this option.

For the cost, flexibility of booking the day before, space to spread out, and ability to bring your own food and drink, I’d happily do this journey again over the competing bus and flight alternatives.