San Sebastián tiene varias opciones de aeropuertos debido a su cercanía a importantes ciudades. El más cercano es su propio Aeropuerto a tan solo 20 km del centro de la ciudad. Se puede llegar a la ciudad en el autobús i2 por 2 euros. El Aeropuerto de Biarritz en Francia está a 50km. Desde ahí puedes ir a la estación de Hendaye, desde donde un Euskotren te llevará a San Sebastián por 1,35 euros. El Aeropuerto de Bilbao está a 100km. Se puede tomar un autobús a San Sebastián por 15 euros. Finalmente desde Vitoria —a 114km— se puede tomar un autobús por 7,50 euros.

Los trenes llegan desde Francia, Portugal y, por supuesto, España. Hay dos terminales de tren en San Sebastián: el RENFE, para trenes nacionales e internacionales, y la terminal de Amara (Euskotren) para la red local. A través del primero pasa una línea que une Paris con Madrid. Además hay 7 servicios diarios desde Madrid (34,50 euros) y dos desde Barcelona (35,50 euros). En el caso de Amara, hay trenes desde el Hendaye (1,35 euros), Irún (1,35 euros), Pasajes (1,15 euros) y Bilbao (5,70) vía Zarautz, Zumaia y Durango.

Los autobuses son generalmente más baratos y con rutas más sencillas. Todos llegan y salen de la estación de autobús de San Sebastián. Hay numerosos autobuses diarios desde Vitoria (1 hora y media), Bilbao (1 hora) Pamplona (1 hora), Madrid (5 horas y media), Burgos (3 horas y media), entre otros. Las principales empresas son Continental Auto, PESA, Roncalesa y La Burundesa.

En coche, la principal vía desde el sur es la autopista A1 desde Madrid vía Vitoria. La autopista A8 conecta San Sebastián con Bilbao al oeste y con Francia al este. Para evitar el peaje puedes tomar la N634 que es virtualmente paralela a la A8.