There were no reports of injuries aboard the MD-80 jet, said Jeff Lea, spokesman for Lambert Airport.
All 137 passengers, two pilots and three flight attendants left the plane safely after it turned back to Lambert and landed, said Tim Wagner, spokesman for Fort Worth, Texas-based American Airlines.
Flight 1400 reported engine problems sometime after takeoff and landed at 1:40 p.m. CDT. Passengers walked down a staircase to the runway after emergency crews extinguished the fire with flame-retardant foam.
American Airlines maintenance will look at the aircraft and try to determine what caused the fire, Wagner said. The National Transportation Safety Board may get involved, he said.