There are 4 ways to get from Madrid to Soria by bus, train, rideshare or car

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Bus  •  2 h 30 min

$30 - $45

Cheapest option

Rideshare  •  2 h 43 min

  1. 142.1 miles

$9 - $16

2 alternative options

Train  •  4 h 8 min

  1. R

$31 - $47

Drive  •  2 h 15 min

  1. 141.3 miles

$26 - $40

What companies run services between Madrid, Spain and Soria, Castille and León, Spain?

ALSA operates a bus from Madrid to Soria every 2 hours. Tickets cost $30 - $45 and the journey takes 2 h 30 min. Alternatively, Spanish Railways (RENFE) operates a train from Madrid to Soria 3 times a day. Tickets cost $30 - $45 and the journey takes 2 h 58 min.

Train operators
Spanish Railways (RENFE)
Bus operators
Other operators
Rideshare from Madrid to Soria
Ave. Duration
2 h 43 min
Twice daily
Estimated price
$9 - $16
Book at

Want to know more about travelling around Spain

Rome2rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.

Questions & Answers

The distance between Madrid and Soria is 182 km. The road distance is 226 km.

The cheapest way to get from Madrid to Soria is to rideshare which costs 8€ - 14€ and takes 2 h 43 min.

The quickest way to get from Madrid to Soria is to drive which takes 2 h 15 min and costs 22€ - 35€.

No, there is no direct train from Madrid to Soria. However, there are services departing from Madrid Sol and arriving at Soria via Madrid-Chamartin. The journey, including transfers, takes approximately 4 h 8 min.

Yes, there is a direct bus departing from Madrid and arriving at Soria. Services depart every two hours. The journey takes approximately 2 h 30 min.

The bus from Madrid to Soria takes 2 h 30 min including transfers and departs every two hours.