There are 4 ways to get from San Diego to San Bernardino by bus (Flixbus), train (Amtrak), car, bus, or shuttle
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus (Flixbus)
best- Take the bus from San Diego to San Bernardino Downtown Transit Centerbus FlixBus 2015 / ...
3h 57m$16–27Train
- Take the train from San Diego to Oceansidetrain Pacific Surfliner
- Take the train from Oceanside to San Bernardino Depottrain IE-OC Line
4h 16m$25–44Drive 106.2 mi
- Drive from San Diego to San Bernardinocar 106.2 mi
1h 52m$20–28Bus, shuttle
- Take the bus from Broadway & 1st Av to Escondido Transit Centerbus 235 / ...
- Take a shuttle bus from Escondido, CA - 796 W Valley PKWY to San BernardinoCbx
4h 45m$28–40
San Diego to San Bernardino by tram and bus (Flixbus)
Questions & Answers
The cheapest way to get from San Diego to San Bernardino is to bus which costs $16 - $27 and takes 3h 57m.
The fastest way to get from San Diego to San Bernardino is to drive which takes 1h 52m and costs $19 - $28.
No, there is no direct bus from San Diego to San Bernardino. However, there are services departing from San Diego and arriving at San Bernardino Downtown Transit Center via . The journey, including transfers, takes approximately 3h 57m.
No, there is no direct train from San Diego to San Bernardino. However, there are services departing from San Diego and arriving at San Bernardino Depot via Oceanside. The journey, including transfers, takes approximately 4h 16m.
The distance between San Diego and San Bernardino is 115 miles. The road distance is 106.8 miles.
The best way to get from San Diego to San Bernardino without a car is to bus which takes 3h 57m and costs $16 - $27.
It takes approximately 3h 57m to get from San Diego to San Bernardino, including transfers.
San Diego to San Bernardino bus services, operated by Flixbus USA, depart from San Diego station.
San Diego to San Bernardino train services, operated by Amtrak, depart from San Diego station.
The best way to get from San Diego to San Bernardino is to bus which takes 3h 57m and costs $16 - $27. Alternatively, you can train, which costs $25 - $45 and takes 4h 16m.
What companies run services between San Diego, CA, USA and San Bernardino, CA, USA?
Flixbus USA operates a bus from San Diego to San Bernardino Downtown Transit Center twice daily. Tickets cost $16–27 and the journey takes 2h 50m. Alternatively, you can take a train from San Diego to San Bernardino Depot via Oceanside in around 4h 16m.
Rome2Rio's guide to Amtrak
Contact DetailsContact Details
- Phone
- +1 800-872-7245
- Website
- Amtrak
Train from San Diego to Oceanside
- Ave. Duration
- 54 min
- Frequency
- Hourly
- Estimated price
- $12–27
- Website
- Amtrak
- Phone
- (800) 371-LINK (5465)
- Website
- Metrolink Trains
Train from Oceanside to San Bernardino Depot
- Ave. Duration
- 2h 22m
- Frequency
- 4 times a week
- Estimated price
- $13–18
- Website
- Metrolink Trains
- Phone
- +1 (855) 626-8585
- Website
- Flixbus USA
Bus from San Diego to San Bernardino Downtown Transit Center
- Ave. Duration
- 2h 50m
- Frequency
- Twice daily
- Estimated price
- $16–27
- Schedules at
- Flixbus USA
- Phone
- +1 619-557-4555
- Website
- MTS
Bus from Broadway & 1st Av to Escondido Transit Center
- Ave. Duration
- 1h 15m
- Frequency
- Every 20 minutes
- Estimated price
- $2–5
- Website
- MTS
- Schedules at
- MTS Schedules
- One Way - Adult/Youth
- $2–5
- [email protected]
- Website
- CBX Cross Border Express
Shuttle from Escondido, CA - 796 W Valley PKWY to San Bernardino
- Ave. Duration
- 2h 30m
- Frequency
- Once daily
- Estimated price
- $25–35
- Schedules at
- CBX Cross Border Express
Want to know more about travelling around United States
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Travelling to the US: What do I need to know?
Read the travel guide
Why you should take the train in the US
Read the travel guide
More Questions & Answers
San Diego to San Bernardino bus services, operated by Flixbus USA, arrive at San Bernardino Downtown Transit Center station.
San Diego to San Bernardino train services, operated by Amtrak, arrive at Oceanside station.
Yes, the driving distance between San Diego to San Bernardino is 107 miles. It takes approximately 1h 52m to drive from San Diego to San Bernardino.
Book your San Diego to San Bernardino train tickets online with Omio.
Book your San Diego to San Bernardino bus tickets online with Omio.
There are 481+ hotels available in San Bernardino.










