Travel Information
Compare train, bus, and flight for Madrid to Donostia-San Sebastian
Omio recommends booking the train as it is the most popular option from Madrid to Donostia-San Sebastian among Omio's users. If you are prioritising price, take the train, with an average ticket price of €31 For those with little time, consider booking a flight, which has an average total journey time of 3h 12m. If you are seeking to minimise your carbon footprint, the train is your best option, with estimated CO2 emissions of 0.1 - 0.3kg. Average ticket prices depend on the travel mode: a train costs an average of €31, while a flight costs an average of €187.
Distance: 352 km
Compare train with
Most popular Train | Bus | Flight | Driving |
|---|---|---|---|
€31 Average price Cheapest | €43 Average price | €187 Average price | €76 Average price (fuel + tolls) |
6h 13m Average total duration 5h 43m Onboard + 30m Additional time* | 7h 24m Average total duration 6h 54m Onboard + 30m Additional time* | 3h 12m Average total duration Fastest 1h 12m Onboard + 2h 0m Additional time* | 4h 40m Average total duration (door-to-door) |
0.1 - 0.3kg CO2 emissions Lowest | 0.4 - 0.9kg CO2 emissions | 1.1 - 2.1kg CO2 emissions | - CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company | ![]() Most popular airline | Your own car or car rental |
Direct Options | Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Compare ways to travel from Madrid to Donostia-San Sebastian
Compare the available ways to get from Madrid to Donostia-San Sebastian, with the key details around price, speed, convenience, and direct service.
This is compared to other travel options from Madrid to Donostia-San Sebastian:
A train is €13 less than a bus for this route with tickets for a bus from Madrid to Donostia-San Sebastian costing on average €43.
A train is €157 less than a flight for this route with tickets for a flight from Madrid to Donostia-San Sebastian costing on average €187.
Other travel options to Donostia-San Sebastian take longer:
Train takes on average 6h 13m.
Bus takes on average 7h 24m.
Travel optionsfrom Madrid to Donostia-San Sebastian
How to get from Madrid to Donostia-San Sebastian by train, bus or flight.
Our recommendation
The best way to travel from Madrid to Donostia-San Sebastian is by taking a bus because it’s the best combination of price and speed.
FlixBus · FlixBus8:50 PM 15h25 Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) 12:15 PM Donostia-San Sebastian, Estación de Autobuses €37 1 One-way 1 transfer
Cheapest
FlixBus · FlixBus8:50 PM 15h25 Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) 12:15 PM Donostia-San Sebastian, Estación de Autobuses €37 1 One-way 1 transfer
Fastest
IB44511:50 AM 1h10 Madrid Barajas Airport 1:00 PM San Sebastián Airport €224 1 One-way 0 transfers
Other options
040876:55 AM 5h37 Madrid Chamartín 12:32 PM Donostia-San Sebastián €41 1 One-way 0 transfers
180619:06 AM 7h37 Madrid Príncipe Pío 4:43 PM Donostia-San Sebastián €50 1 One-way 0 transfers
1806312:25 PM 7h59 Madrid Príncipe Pío 8:24 PM Donostia-San Sebastián €50 1 One-way 0 transfers
FlixBus · FlixBus11:59 PM 17h51 Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) 5:50 PM Donostia-San Sebastian, Estación de Autobuses €37 1 One-way 1 transfer
Normal5:15 PM 5h25 Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) 10:40 PM Donostia-San Sebastian, Estación de Autobuses €46 1 One-way 0 transfers
Normal5:00 PM 5h40 Madrid, Intercambiador de Avenida de América 10:40 PM Donostia-San Sebastian, Estación de Autobuses €46 1 One-way 0 transfers
IB4497:40 PM 1h10 Madrid Barajas Airport 8:50 PM San Sebastián Airport €338 1 One-way 0 transfers
Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, buses and flights
Compare train, bus, and flight prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Madrid to Donostia-San Sebastian
Travel to Donostia-San Sebastian easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Madrid to Donostia-San Sebastian.

This is compared to other travel options from Madrid to Donostia-San Sebastian:
A train is €13 less than a bus for this route with tickets for a bus from Madrid to Donostia-San Sebastian costing on average €43.
A train is €157 less than a flight for this route with tickets for a flight from Madrid to Donostia-San Sebastian costing on average €187.
Other travel options to Donostia-San Sebastian take longer:
Train takes on average 6h 13m.
Bus takes on average 7h 24m.
- Around 42 trains per day.
- Around 19 buses per day.
- Around 3 flights per day.
However, we recommend checking specific travel dates for your route between Madrid and Donostia-San Sebastian as scheduled services by train, bus, and flight can vary by season or day of the week.
- Flights mostly depart from Madrid Barajas Airport and arrive in San Sebastián Airport.
- Trains mostly depart from Madrid Chamartín and arrive in Donostia-San Sebastián.
- Buses mostly depart from Madrid, Intercambiador de Avenida de América and arrive in Donostia-San Sebastian, Estación de Autobuses.
- Travel with Alsa, FlixBus, Autobuses Pamplona Madrid, Alsa Supra to go to Donostia-San Sebastian by bus.
- Travel with Renfe MD, Renfe ALVIA, Renfe INTERCITY, Renfe to go to Donostia-San Sebastian by train.
- Travel with Iberia, CitizenPlane, Vueling, Air Europa to go to Donostia-San Sebastian by flight.
- 16 direct buses per day with Alsa, Alsa Supra.
- 5 direct trains per day with Renfe MD, Renfe ALVIA, Renfe INTERCITY, Renfe.
- 3 direct flights per day with Iberia, CitizenPlane, Air Europa.
Travelling from Madrid to Donostia-San Sebastian: related information
Here are some other resources that might have the information you need
