There are 3 ways to get from San Bernardino to San Diego by bus, train or car

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Bus  •  2 h 30 min

  1. Take the bus from San Bernardino, Ca to San Diego, Ca 7015 / ...

$16 - $40

2 alternative options

Train  •  4 h 25 min

  1. Take the train from San Bernardino-Downtown station to Santa Ana station Inland Empire - OC
  2. Take the train from Santa Ana Regional Transportation Center Amtrak to San Diego Santa Fe Depot Pacific Surfliner

$38 - $77

Drive  •  1 h 49 min

  1. Drive from San Bernardino to San Diego 108.1 miles

$10 - $16

Questions & Answers

The cheapest way to get from San Bernardino to San Diego is to drive which costs $10 - $16 and takes 1 h 49 min.

More details

The quickest way to get from San Bernardino to San Diego is to drive which costs $10 - $16 and takes 1 h 49 min.

More details

Yes, there is a direct bus departing from San Bernardino, Ca and arriving at San Diego, Ca. Services depart hourly, and operate every day. The journey takes approximately 2 h 30 min.

More details

No, there is no direct train from San Bernardino station to San Diego. However, there are services departing from San Bernardino-Downtown station and arriving at San Diego Santa Fe Depot via Santa Ana Regional Transportation Center Amtrak. The journey, including transfers, takes approximately 4 h 25 min.

More details

The distance between San Bernardino and San Diego is 97 miles. The road distance is 108.1 miles.

Get driving directions

The best way to get from San Bernardino to San Diego without a car is to bus which takes 2 h 30 min and costs $16 - $40.

More details

The bus from San Bernardino, Ca to San Diego, Ca takes 2 h 30 min including transfers and departs hourly.

More details

San Bernardino to San Diego bus services, operated by Greyhound USA, depart from San Bernardino, Ca station.

More details

San Bernardino to San Diego train services, operated by Metrolink Trains, arrive at San Bernardino-Downtown station.

More details

The best way to get from San Bernardino to San Diego is to bus which takes 2 h 30 min and costs $16 - $40. Alternatively, you can train, which costs $35 - $80 and takes 4 h 25 min.

Mode details

Map of how to get from San Bernardino to San Diego.
Launch map view
  • Distance: 97.1 miles
  • Duration: 2 h 30 min

What companies run services between San Bernardino, CA, USA and San Diego, CA, USA?

Greyhound USA operates a bus from San Bernardino to San Diego hourly. Tickets cost $16 - $40 and the journey takes 2 h 30 min. Greyhound Mexico also services this route once daily. Alternatively, you can take a train from San Bernardino to San Diego via Santa Ana station and Santa Ana Regional Transportation Center Amtrak in around 4 h 25 min.

Train operators
Metrolink Trains
Phone
(800) 371-LINK (5465)
Website
metrolinktrains.com
Train from San Bernardino-Downtown station to Santa Ana station
Ave. Duration
1 h 19 min
Frequency
3 times a day
Estimated price
$9 - $13
Schedules at
metrolinktrains.com
Amtrak

Amtrak is a rail service that connects the US and three Canadian provinces. Covering 21,000 route miles (34,000km) Amtrak operates more than 300 trains daily. These medium and long distance intercity services operate at speeds of up to 240km/h, to more than 500 destinations. Founded in 1971, it is based in Washington, D.C. and offers four classes of travel: First Class, Sleeper, Business and Coach. Ticket fares are divided into five subclasses: Saver, Value, Flexible, Business and Premium. Amtrak trains are known for their wide seats, plug-in power, big windows and storage capabilities.

Rome2rio's guide to Amtrak
Contact Details
Phone
+1 1-800-872-7245
Website
amtrak.com
Train from Santa Ana Regional Transportation Center Amtrak to San Diego Santa Fe Depot
Ave. Duration
2 h 6 min
Frequency
Every 2 hours
Estimated price
$29 - $65
Website
amtrak.com
Coach Seat
$29 - $45
Flexi Coach Seat
$50 - $75
Business Coach Seat
$40 - $65
Room
$150 - $220
Bus operators
Greyhound USA

Greyhound is a leading bus company based in Dallas, Texas, serving over 3800 destinations across North America, Mexico and Canada. Greyhound carries around 18 million passengers a year who travel 5.4 billion miles (8.6 billion km) a year on their fleet of around 1700 vehicles. For travel flexibility, you can board or get off a Greyhound bus at official Greyhound stations, partner stations and curbside stops. There are around 230 Greyhound stations across the US where you can both catch your bus and buy tickets, that are also available on the official website and via the mobile app.

Rome2rio's guide to Greyhound USA
Contact Details
Phone
+1 214-849-8100/1-800-231-2222
Email
ifsr@greyhound.com
Website
greyhound.com
Bus from San Bernardino, Ca to San Diego, Ca
Ave. Duration
2 h 30 min
Frequency
Hourly
Estimated price
$16 - $40
Website
greyhound.com
Economy
$16 - $25
Flexible
$30 - $40
Greyhound Mexico
Phone
01-800 890 6821
Website
greyhound.com.mx
Bus from San Bernardino to San Diego
Ave. Duration
5 h 45 min
Frequency
Once daily
Estimated price
$40 - $60
Schedules at
greyhound.com.mx

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.

More Questions & Answers

San Bernardino to San Diego bus services, operated by Greyhound USA, arrive at San Diego, Ca station.

More details

San Bernardino to San Diego train services, operated by Amtrak, arrive at San Diego Santa Fe Depot station.

More details

Yes, the driving distance between San Bernardino to San Diego is 108 miles. It takes approximately 1 h 49 min to drive from San Bernardino to San Diego.

Get driving directions

Book your San Bernardino to San Diego bus tickets online with Greyhound.

Search and book

There are 1099+ hotels available in San Diego. Prices start at $72 USD per night.

More details