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

8h 3m • 1 change

8h 18m • 1 change
Arrives next day

15h 57m • 1 change

8h 3m • 1 change

8h 18m • 1 change
Arrives next day

15h 57m • 1 change

8h 3m • 1 change

8h 18m • 1 change
Arrives next day

15h 57m • 1 change
Want to know about travelling from Badajoz to Barcelona? 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 Barcelona. However, there are services departing from Badajoz station and arriving at Barcelona station via Madrid-Puerta de Atocha-Almudena Grandes. The journey, including transfers, takes approximately 10h 45m.
Badajoz to Barcelona train services, operated by Renfe Viajeros, depart from Badajoz station.
Badajoz to Barcelona train services, operated by Renfe Viajeros, arrive at Barcelona-Sants station.
Book your Badajoz to Barcelona train tickets online with Renfe Viajeros, iryo and Ouigo.
The distance between Badajoz and Barcelona is 825.3 km. The road distance is 1,079 km.
You can take a train from Badajoz to Barcelona-Sants via Madrid-Puerta de Atocha-Almudena Grandes in around 8h 3m.