- Must visit
Tabakalera
Major contemporary art center in a former tobacco factory. It hosts ambitious exhibitions, local culture, and one of the city’s strongest programs.
Cheapest price
$60
Average price
$94
Fastest journey
5 h 4 m
Average duration
5 h 24 m
Trains per day
49
Distance
352 km
The best way to find a cheap train ticket from Madrid to Donostia-San Sebastian is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Madrid to Donostia-San Sebastian will cost around $94 if you buy it on the day, but the cheapest tickets can be found for only $60.
Of the 49 trains that leave Madrid for Donostia-San Sebastian on Wed, Jul 15, 5 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Wed, Jul 15 the direct trains cover the 352 km distance in an average of 5 h 24 m but if you time it right, some trains will get you there in just 5 h 4 m .
On Wed, Jul 15 the slowest trains will take 5 h 37 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
18063
18061
04687+
18061
04687+
18063
04167
04257
04167
05817+
04257
04179+
04167
04087Omio 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 prices starting from $23. For those with little time consider booking a flight which can get you there in 3h 7m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.1 - 0.3kg. The ticket price range depends on the travel mode: a train costs an average of $23, and a flight costs an average of $53.
Distance: 218 miles (352 km)
Most popular Train | Bus | Flight | Driving |
|---|---|---|---|
$56 Average price Cheapest | $81 Average price | $358 Average price | $91 Average price (fuel + tolls) |
5h 41m Average total duration 5h 11m Onboard + 30m Additional time* | 6h 51m Average total duration 6h 21m Onboard + 30m Additional time* | 6h 7m Average total duration Fastest 3h 7m Onboard + 3h 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.
This is compared to other travel options from Madrid to Donostia-San Sebastian:
A train is $25 (€21) less than a bus for this route with tickets for a bus from Madrid to Donostia-San Sebastian costing on average $81 (€67).
A train is $303 (€249) less than a flight for this route with tickets for a flight from Madrid to Donostia-San Sebastian costing on average $358 (€295).
Other travel options to Donostia-San Sebastian take longer:
Train takes on average 5h 11m.
Bus takes on average 6h 21m.
Tickets start at around {cheapestPrice} compared to roughly {drivingPriceInCents} in fuel and tolls — a saving of about {savingsAmount}. The journey takes {durationInMinutes} versus {drivingDurationInMinutes} by car, so you'll arrive a bit later, but you can work, read, or sleep along the way rather than spending the time behind the wheel. You'll also save the hassle of parking at the other end.
Direct services run with Renfe ALVIA, Renfe INTERCITY, Renfe MD, Renfe Viajeros.
Driving is worth it if you're on a tight schedule, travelling as a group, or want to stop somewhere en route.
The table below shows live departures for Madrid to Donostia-San Sebastian trains for today, Tuesday, July 14. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
08109+ 18063 | Delayed 10:15 AM Madrid Chamartín | 10h08 | 6:23 PM 6:23 PMDonostia-San Sebastián | 1 transfer | |
08109+ 18061 | On time 10:15 AM Madrid Chamartín | 6h28 | 4:43 PM Donostia-San Sebastián | 1 transfer | |
08109+ 04257 | On time 10:15 AM Madrid Chamartín | 9h39 | 7:54 PM Donostia-San Sebastián | 1 transfer | |
04121+ 18063 | Delayed 11:23 AM Madrid Chamartín | 9h00 | 6:23 PM 6:23 PMDonostia-San Sebastián | 1 transfer | |
04121+ 04167 | Delayed 11:23 AM Madrid Chamartín | 11h41 | 9:04 PM 9:04 PMDonostia-San Sebastián | 1 transfer | |
04121+ 04257 | On time 11:23 AM Madrid Chamartín | 8h31 | 7:54 PM Donostia-San Sebastián | 1 transfer | |
08129+ 18063 | Delayed 12:05 PM Madrid Chamartín | 8h18 | 6:23 PM 6:23 PMDonostia-San Sebastián | 1 transfer | |
08129+ 04257 | On time 12:05 PM Madrid Chamartín | 7h49 | 7:54 PM Donostia-San Sebastián | 1 transfer | |
08129+ 04167 | Delayed 12:05 PM Madrid Chamartín | 10h59 | 9:04 PM 9:04 PMDonostia-San Sebastián | 1 transfer | |
18063 | Delayed 12:25 PM Madrid Príncipe Pío | 7h58 | 6:23 PM 6:23 PMDonostia-San Sebastián | 0 transfersDirect | |
04143+ 18063 | Delayed 11:40 AM 1:40 PMMadrid Chamartín | 6h43 | 6:23 PM 6:23 PMDonostia-San Sebastián | 1 transfer | |
04143+ 04257 | Delayed 11:40 AM 1:40 PMMadrid Chamartín | 6h14 | 7:54 PM Donostia-San Sebastián | 1 transfer | |
04143 · 04167 | Delayed 11:40 AM 1:40 PMMadrid Chamartín | 9h24 | 9:04 PM 9:04 PMDonostia-San Sebastián | 1 transfer | |
04149+ 18063 | Delayed 1:53 PM Madrid Chamartín | 6h30 | 6:23 PM 6:23 PMDonostia-San Sebastián | 1 transfer | |
34101+ 18063 | Delayed 1:53 PM Madrid Chamartín | 6h30 | 6:23 PM 6:23 PMDonostia-San Sebastián | 1 transfer | |
04149+ 04257 | On time 1:53 PM Madrid Chamartín | 6h01 | 7:54 PM Donostia-San Sebastián | 1 transfer | |
05817+ 04167 | Delayed 2:23 PM Madrid Chamartín | 8h41 | 9:04 PM 9:04 PMDonostia-San Sebastián | 1 transfer | |
05817+ 04257 | On time 2:23 PM Madrid Chamartín | 5h31 | 7:54 PM Donostia-San Sebastián | 1 transfer | |
04257 | On time 2:50 PM Madrid Chamartín | 5h04 | 7:54 PM Donostia-San Sebastián | 0 transfersDirect | |
04257+ 04167 | Delayed 2:50 PM Madrid Chamartín | 8h14 | 9:04 PM 9:04 PMDonostia-San Sebastián | 1 transfer | |
04151+ 04167 | Delayed 2:59 PM Madrid Chamartín | 8h05 | 9:04 PM 9:04 PMDonostia-San Sebastián | 1 transfer | |
04161+ 04167 | Delayed 4:37 PM Madrid Chamartín | 6h27 | 9:04 PM 9:04 PMDonostia-San Sebastián | 1 transfer | |
08179+ 04167 | Delayed 5:00 PM Madrid Chamartín | 6h04 | 9:04 PM 9:04 PMDonostia-San Sebastián | 1 transfer | |
04179+ 04167 | Delayed 5:30 PM Madrid Chamartín | 5h34 | 9:04 PM 9:04 PMDonostia-San Sebastián | 1 transfer | |
04167 | Delayed 5:48 PM Madrid Chamartín | 5h16 | 9:04 PM 9:04 PMDonostia-San Sebastián | 0 transfersDirect | |
08069+ 18063 | 6:36 AM Madrid Chamartín | 13h47 | 8:23 PM Donostia-San Sebastián | 1 transfer | |
08069+ 18061 | 6:36 AM Madrid Chamartín | 10h07 | 4:43 PM Donostia-San Sebastián | 1 transfer | |
08069+ 04087 | 6:36 AM Madrid Chamartín | 5h56 | 12:32 PM Donostia-San Sebastián | 1 transfer | |
04073+ 18061 | 6:48 AM Madrid Chamartín | 9h55 | 4:43 PM Donostia-San Sebastián | 1 transfer | |
04087 | 6:55 AM Madrid Chamartín | 5h37 | 12:32 PM Donostia-San Sebastián | 0 transfersDirect | |
04187+ 18061 | 6:55 AM Madrid Chamartín | 9h48 | 4:43 PM Donostia-San Sebastián | 1 transfer | |
04087+ 18061 | 6:55 AM Madrid Chamartín | 9h48 | 4:43 PM Donostia-San Sebastián | 1 transfer | |
04261+ 18063 | 7:04 AM Madrid Chamartín | 13h19 | 8:23 PM Donostia-San Sebastián | 1 transfer | |
04261+ 18061 | 7:04 AM Madrid Chamartín | 9h39 | 4:43 PM Donostia-San Sebastián | 1 transfer | |
04261+ 04257 | 7:04 AM Madrid Chamartín | 12h50 | 7:54 PM Donostia-San Sebastián | 1 transfer | |
08079+ 18063 | 7:51 AM Madrid Chamartín | 12h32 | 8:23 PM Donostia-San Sebastián | 1 transfer | |
08079+ 18061 | 7:51 AM Madrid Chamartín | 8h52 | 4:43 PM Donostia-San Sebastián | 1 transfer | |
08079+ 04257 | 7:51 AM Madrid Chamartín | 12h03 | 7:54 PM Donostia-San Sebastián | 1 transfer | |
04687+ 18061 | 8:40 AM Madrid Chamartín | 8h03 | 4:43 PM Donostia-San Sebastián | 1 transfer | |
04687 · 04257 | 8:40 AM Madrid Chamartín | 11h14 | 7:54 PM Donostia-San Sebastián | 1 transfer | |
04687+ 18063 | 8:40 AM Madrid Chamartín | 11h43 | 8:23 PM Donostia-San Sebastián | 1 transfer | |
18061 | 9:06 AM Madrid Príncipe Pío | 7h37 | 4:43 PM Donostia-San Sebastián | 0 transfersDirect | |
04091+ 18061 | 9:15 AM Madrid Chamartín | 7h28 | 4:43 PM Donostia-San Sebastián | 1 transfer | |
05763+ 18063 | 9:25 AM Madrid Chamartín | 10h58 | 8:23 PM Donostia-San Sebastián | 1 transfer | |
05763+ 18061 | 9:25 AM Madrid Chamartín | 7h18 | 4:43 PM Donostia-San Sebastián | 1 transfer | |
Find all the dates and times for this journey
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.
Trains from Madrid to Donostia-San Sebastian run on average 4 times per day, taking around 5h 11m. Cheap train tickets for this journey start at $23 (€19) if you book in advance.
There are 4 trains per day. The earliest train runs at 04:45, the last at 17:37. The fastest train covers the 218 miles (352 km) distance in 5h 0m.
Distance 218 miles (352 km) |
Average train duration 5h 11m |
Cheapest ticket price $23 (€19) |
Trains per day 4 |
Direct trains 4 |
Fastest train 5h 0m |
First train 4:45 AM |
Last train 5:37 PM |
Cheapest Month Mar |
Cheapest Day Sat |
High Season Jul - Sep |
Low Season Jan - Mar |
Busiest Day Wed |
Least Busy Day Sun |
Best time to book 77 days |
Discover the best of Donostia-San Sebastián — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Donostia-San Sebastián trip today.
Major contemporary art center in a former tobacco factory. It hosts ambitious exhibitions, local culture, and one of the city’s strongest programs.
Fine arts museum in a historic building with Basque, Spanish, and international works. A compact stop for painting and sculpture lovers.
Aquarium with historic maritime displays and a famous underwater tunnel. It combines family appeal with local ocean and fishing context.
The city’s most famous beach promenade curves around La Concha Bay. Essential for classic views, elegant walks, and sunset atmosphere.
Historic Old Town of lively squares, churches, and traditional streets. It is the best area for atmosphere, architecture, and everyday city life.
Urban beach and neighborhood promenade popular with surfers and locals. Great for broad sea views, people-watching, and a more contemporary vibe.
Small bar snacks on bread or bites, central to local txikiteo culture. San Sebastián is famous for creative and classic pintxos in packed old-town bars.
Whole grilled turbot, prized on the Basque coast for its clean flavor and simple preparation with olive oil, garlic, and grill smoke.
Basque-style cod often cooked with garlic, olive oil, and peppers. It reflects the region’s deep seafood tradition and classic home cooking.
Celebrated fine-dining restaurant with innovative Basque cuisine and tasting menus in an elegant, destination setting above the city.
Refined modern Basque restaurant by the bay, known for seafood-focused tasting menus and a polished but welcoming dining room.
Well-known grill restaurant specializing in premium beef and Basque classics, with a smart, contemporary atmosphere near the center.
Moderate for Spain: lodging is pricier in peak season, but pintxos, set lunches, and local buses keep daily costs manageable for most tourists.
Tipping is optional. Round up or leave 5-10% in restaurants for good service; small change is fine in cafes. Taxi tipping is usually just rounding up.
Find answers to the most common questions about traveling from Madrid to Donostia-San Sebastian by train. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest train, the cheapest option, or tips for making the most of your visit at Donostia-San Sebastian, this guide helps you travel smarter and with confidence.

Here are some other resources that might have the information you need