The drive from Columbia to St. Louis is about 120 miles, which typically takes around 2 hours by car. If you prefer public transportation, you can take a bus, which usually takes around 2.5 to 3 hours.