The average train between Badajoz and Oviedo takes 12h 8m and the fastest train takes 8h 15m. The train service runs several times per day from Badajoz to Oviedo. 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 Oviedo. 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 Oviedo at 12:44 PM. All services require a transfer, and take on average 12h 8m. The schedules shown below are for the next available departures.

8h 15m • 1 change

10h 52m • 1 change
Arrives next day

16h 55m • 1 change

8h 15m • 1 change

10h 52m • 1 change
Arrives next day

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