The average train between Badajoz and Zamora takes 9h 14m and the fastest train takes 5h 52m. The train service runs several times per day from Badajoz to Zamora. 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 3 times a day between Badajoz and Zamora. The earliest departure is at 6:29 AM in the morning, and the last departure from Badajoz is at 6:05 PM which arrives into Zamora at 9:32 AM. All services require a transfer, and take on average 9h 14m. The schedules shown below are for the next available departures.

5h 52m • 1 change

7h 19m • 1 change
Arrives next day

14h 7m • 1 change

5h 52m • 1 change

7h 19m • 1 change
Arrives next day

14h 7m • 1 change
Want to know about travelling from Badajoz to Zamora? 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 Badajoz to Zamora. However, there are services departing from Badajoz station and arriving at Zamora station via Madrid Chamartín. The journey, including transfers, takes approximately 9h 14m.
Badajoz to Zamora train services, operated by Renfe Viajeros, depart from Badajoz station.
Badajoz to Zamora train services, operated by Renfe Viajeros, arrive at Zamora station.
Book your Badajoz to Zamora train tickets online with Renfe Viajeros and Renfe AVE.
The distance between Badajoz and Zamora is 310.3 km. The road distance is 694 km.
You can take a train from Badajoz to Zamora via Madrid Chamartín in around 6h 25m.