At the MLB trade deadline in 2000, the Orioles traded Clark to the St. Louis Cardinals for José León. He was acquired in part to play in place of the injured Mark McGwire. Clark batted .345 while hitting 12 home runs and driving in 42 runs in 51 games. Clark helped the Cardinals defeat the Atlanta Braves in the NLDS with 4 runs batted in during the series. In the NLCS, the Cardinals faced the New York Mets. Clark batted .412 in the series but the Mets won the series and the National League pennant. Despite being revitalized during his time with the Cardinals, he decided to retire at the end of the season. Clark batted .319 during his final season and went 1 for 3 in his final game on October 16, 2000.