The train partially derailed when two sets of wheels on train No. 302 lost contact with the track near Wood River, in between the St. Louis and Alton stations, just before 8 a.m., Amtrak said.
There were 106 passengers and four crew members on board the train. No one was injured.
Amtrak train 307 from St. Louis to Chicago has been canceled due to the derailment.
Charter buses are transporting passengers to stops in Alton, Carlinville, Springfield, Lincoln, Bloomington-Normal, Pontiac, Dwight, Joliet, Summit and Chicago.
The Sun-Times Media Wire contributed to this report.