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

Next train departures

Next departures for San Bernardino to San Diego on December 12
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:24 PM PST.

Compare 2 ways to go from San Bernardino to San Diego

We recommend taking the bus

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

15bus per day
3h 45mAverage Duration
85 milesDistance
3kgCO₂ emissions
Average Price$22 - $80Average Duration3h 45m
3kg CO₂e
Average Price$48 - $59Average Duration7h 2m
14kg CO₂e

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

Please note that schedules, routes, or operator details shown here may be updated or vary 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 $48. The average price for this train route is around $51. Busbud recommends that you book your tickets in advance for a better chance to get the lowest possible price.

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

    The average train ride duration from San Bernardino to San Diego is 7h 2m, covering a distance of 97 miles (155 km). The quickest train can get you there in 5h 2m and is operated by Amtrak.

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

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

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

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

Find cheapest prices for trains

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

Best price found
12/09
$48
12/10
$48
Today
$48
12/12
$48
12/13
$45
12/14
$45
12/15
$48
12/16
$45
busbud logoThe cheapest trip from San Bernardino, US to San Diego, CA, US was searched and found on Dec 13, 2025 with a price of $45

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 $45 to $273 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 $45 which is on 2025-12-13.

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 $51 on average. If you're on a budget, you'll find cheap tickets from $48. 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