The cheapest and fastest trains from San Diego, CA to San Bernardino, CA
Cheapest price
$60
Average price
$60
Fastest journey
4 h 55 m
Average duration
4 h 55 m
Trains per day
1
Distance
155 km
The best way to find a cheap train ticket from San Diego, CA to San Bernardino, CA is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from San Diego, CA to San Bernardino, CA will cost around $60 if you buy it on the day, but the cheapest tickets can be found for only $60.
Of the 1 trains that leave San Diego, CA for San Bernardino, CA on Fri, Feb 27, 1 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Fri, Feb 27 the direct trains cover the 155 km distance in an average of 4 h 55 m but if you time it right, some trains will get you there in just 4 h 55 m .
On Fri, Feb 27 the slowest trains will take 4 h 55 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.


Travel Information
Compare bus and train for San Diego, CA to San Bernardino, CA
Omio recommends booking the bus as it is the most popular option from San Diego, CA to San Bernardino, CA among Omio's users. If you are prioritising price take the bus with prices starting from $19. For those with little time consider booking a bus which can get you there in 3h 9m. The ticket price range depends on the travel mode: a bus costs an average of $19, and a train costs an average of $51.
Distance: 96 miles (155 km)
Compare train with
| Train | Most popular Bus |
|---|---|
$56 Average price | $35 Average price Cheapest |
3h 52m Average total duration 3h 22m Onboard + 30m Additional time* | 3h 39m Average total duration Fastest 3h 9m Onboard + 30m Additional time* |
![]() Most popular train company | ![]() Most popular bus company |
Direct Options | Direct Options |
Live departures
San Diego, CA to San Bernardino, CA train times
The table below shows live departures for San Diego, CA to San Bernardino, CA trains for today, Thursday, February 26. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
![]() | 10:01 PM San Diego, CA | 4h55 | 2:56 AM San Bernardino, CA | 0 transfersDirect | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets San Diego, CA to San Bernardino, CA by bus or train
Compare bus and train 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.
Feb 27
Feb 28
Mar 01
Mar 02
Mar 03
Mar 04
Mar 05
Journey information
Overview: Train from San Diego, CA to San Bernardino, CA
Trains from San Diego, CA to San Bernardino, CA run on average 2 times per day, taking around 3h 22m. Cheap train tickets for this journey start at $51 (€41) but you can travel from only $19 (€15) by bus.
The earliest train runs at 05:51, the last at 15:35. The fastest train covers the 96 miles (155 km) distance in 4h 55m.
Distance 96 miles (155 km) |
Average train duration 3h 22m |
Cheapest ticket price $51 (€41) |
Trains per day 2 |
Fastest train 4h 55m |
First train 05:51 |
Last train 15:35 |
Train companies: Amtrak from San Diego, CA to San Bernardino, CA trainsAmtrak trains will get you between San Diego, CA and San Bernardino, CA from $19 (€15). With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Amtrak
FAQs: Trains from San Diego, CA to San Bernardino, CA
Find answers to the most common questions about traveling from San Diego, CA to San Bernardino, CA 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 San Bernardino, CA, this guide helps you travel smarter and with confidence.

popular train stations
Popular train stations from San Diego, CA to San Bernardino, CA
- 6:00 AM - 9:00 PM Monday - Sunday
- Free
- Parking is available with several spaces for commuters and visitors.
- Casa Guadalajara
- Old Town Mexican Cafe
- Outside the main entrance.
- Elevators, ramps.
- $0.25
- Old Town Inn
- Fairfield Inn & Suites by Marriott San Diego Old Town
- Best Western Plus Hacienda Hotel Old Town
- Located in the main hall
- Enterprise
- Hertz
- Located in the main hall
- Free
- Hall 1: main entrance, platforms for Amtrak and Coaster trains
- Hall 2: Trolley connections
- Trolley: Green Line
- Bus: Several lines available including 8, 9, 10, 28, 30, 35, 44, 88, 105, 150, 923, 928
- 5:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available nearby with various public and private options.
- The Fish Market
- Karl Strauss Brewing Company
- Outside the main entrance.
- Ramps.
- $1.25
- The Westin San Diego
- The Guild Hotel, San Diego, a Tribute Portfolio Hotel
- Embassy Suites by Hilton San Diego Bay Downtown
- Located in the main hall
- Enterprise
- Hertz
- Located in the main hall
- Free
- Hall 1: main entrance, platforms for Amtrak and Coaster trains
- Hall 2: Trolley connections
- San Diego Trolley: Blue Line, Green Line
- Bus: Several lines available
- Amtrak: Pacific Surfliner
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available on-site with several spaces for daily and overnight parking.
- The Mexico Cafe
- Mitla Cafe
- Outside the main entrance.
- Ramps.
- $0.50
- Hilton Garden Inn San Bernardino
- DoubleTree by Hilton Hotel San Bernardino
- Homewood Suites by Hilton San Bernardino
- Located in the main hall
- Located in the main hall
- Free
- Hall 1: main entrance, ticket office, and waiting area
- Hall 2: platforms for Metrolink and Amtrak services
- Bus: Omnitrans routes available
- Metrolink: San Bernardino Line
Most popular train connections from San Diego, CA
More options for your journey from San Diego, CA to San Bernardino, CA
Here are some other resources that might have the information you need

