Train from San Diego, CA, US to St. Louis: Tickets & Schedules

Next train departures

Next departures for San Diego to St. Louis on February 28
Operated byVehicle typeDeparture timeDeparture locationTrip durationArrival timeArrival locationRecommendedPrice and booking link
AmtrakTrain
Santa Fe Depot
Gateway StationCheapest
AmtrakTrain
Old Town San Diego
Gateway StationFastest
AmtrakTrain
Santa Fe Depot
Gateway StationNo tags
AmtrakTrain
Santa Fe Depot
Gateway StationNo tags
AmtrakTrain
Santa Fe Depot
Gateway StationNo tags

Last refresh of the prices: Last Tuesday at 9:30 AM PST.

Compare 2 ways to go from San Diego to St. Louis

We recommend taking the bus

Among the sustainable travel choices, the Bus stands out as a good way to reach St. Louis. The journey takes about 2 days, 40 minutes and with fares starting at just $137, it presents an excellent value for a comfortable ride.

14bus per day
2d Average Duration
1559 milesDistance
63kgCO₂ emissions
Average Price$137 - $496Average Duration2d
63kg CO₂e
Average Price$202 - $564Average Duration2d 6h
229kg CO₂e

Frequently asked questions about traveling from San Diego, CA, US to St. Louis 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 Diego to St. Louis?

    The cheapest train tickets from San Diego to St. Louis start from $202. The average price for this train route is around $286. 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 Diego to St. Louis?

    The average train ride duration from San Diego to St. Louis is 2d 6h, covering a distance of 1559 miles (2514 km). The quickest train can get you there in 1d 22h and is operated by Amtrak.

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

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

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

    The earliest train departs from San Diego to St. Louis at 2:01pm. And the latest train departs at 4:10pm.

Find cheapest prices for trains

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

Best price found
02/24
$275
02/25
$267
Today
$357
02/27
No data
02/28
$235
03/01
$266
03/02
No data
03/03
No data
busbud logoThe cheapest trip from San Diego, CA, US to St. Louis was searched and found on Feb 28, 2026 with a price of $235

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

You can expect to pay from $235 to $2,083 for a train ticket from San Diego, CA, US to St. Louis based on the last 2 days. You can expect to find the cheapest price for the trip at $235 which is on 2026-02-28.

People from around the world trust Busbud