Train from San Bernardino, US to San Diego, CA, US: Tickets & Timetables

Next train departures

Next departures from San Bernardino to San Diego on 27 January
Operated byVehicle typeDeparture timeDeparture locationTrip durationArrival timeArrival locationRecommendedPrice and booking link
AmtrakTrain
San Bernardino Depot
Old Town San DiegoCheapestFastest
AmtrakTrain
San Bernardino Depot
Old Town San DiegoNo tags
AmtrakTrain
San Bernardino Depot
Old Town San DiegoNo tags
AmtrakTrain
San Bernardino Depot
Old Town San DiegoNo tags
AmtrakTrain
San Bernardino Depot
Old Town San DiegoNo tags

Last refresh of the prices: Today at 1:29 AM PST.

Compare 2 ways to travel from San Bernardino to San Diego

We recommend taking the bus

Among the sustainable travel choices, the Bus stands out as a good way to reach San Diego. The journey takes about 3 hours 45 minutes and with fares starting at just R 389, it presents an excellent value for a comfortable ride.

19bus per day
3h 45mAverage duration
136 kmDistance
3kgCO₂ emissions
Average priceR 389 - R 1 226Average duration3h 45m
3kg CO₂e
Average priceR 786 - R 1 024Average duration7h 2m
14kg CO₂e

Frequently asked questions about travelling from San Bernardino, US to San Diego, CA, US by train

Please note that timetables, routes, or operator details shown here may be updated or differ at the time of your trip.

  1. How much is the train ticket from San Bernardino to San Diego?

    The cheapest train tickets from San Bernardino to San Diego start from R 786. The average price for this train route is around R 837. Busbud recommends booking your tickets in advance for a better chance to secure the lowest possible price.

  2. How long is the train journey from San Bernardino to San Diego?

    The average train journey time from San Bernardino to San Diego is 7h 2m, covering a distance of 155 km. The quickest train can get you there in 7h 1m and is operated by Amtrak.

  3. Which train operators serve the San Bernardino to San Diego route?

    Several major train operators run on this route, with 2 trains available per day.

  4. What are the earliest and latest departure times for the train from San Bernardino to San Diego?

    The earliest train from San Bernardino to San Diego departs at 05:51. And the latest train departs at 05:51.

Find cheapest prices for trains

Price is for a one-way ticket for one passenger and based on past searches.

Best price found
24/01
No data
25/01
R 740
Today
R 789
27/01
R 789
28/01
R 789
29/01
R 839
30/01
R 839
31/01
R 789
busbud logoThe cheapest trip from San Bernardino, US to San Diego, CA, US was searched and found on 25 Jan 2026 with a price of R 740

To save money and be sure you have the best seat, it's a good idea to buy your train tickets from San Bernardino, US to San Diego, CA, US as early as possible.

You can expect to pay from R 740 to R 5 686 for a train ticket from San Bernardino, US to San Diego, CA, US based on the last 2 days. You can expect to find the cheapest price for the trip at R 789, which is on 2026-01-27.

What's the cheapest way to go from San Bernardino, US to San Diego, CA, US?

busbud logoThe Train is the cheapest travel choice for this destination

The best way to travel between San Bernardino, US and San Diego, CA, US is by train. By choosing the train, you'll get to save some money as you travel to your destination, as ticket prices cost R 837 on average. If you're on a budget, you'll find cheap tickets from R 786. If you're looking for the fastest way to get to San Diego, CA, US, choose the train, as it will take you from San Bernardino, US to San Diego, CA, US in about 3h 45m – that's the fastest way to get there!

People from around the world trust Busbud