The Cardinals signed Suppan as a free agent in 2004, and he embarked upon a career year, posting a 16–9 won-lost record and a 4.16 earned run average, with 110 strikeouts, 65 walks, and 192 hits allowed in 188 innings. Suppan helped lead the Cards to the 2004 World Series, where he started Game 3. His major base running mess up in game 3 was one of the defining moments of the World Series.
In 2005 he improved on his previous year’s performance, going 16–10 with a 3.57 ERA. He started Game 4 of the National League Championship series against the Houston Astros, allowing one run over five innings but came away with a no-decision after the Astros took the lead later in the game.
Suppan has hit two career Major League home runs, both off Steve Trachsel of the New York Mets. His first was on September 10, 2005. The Cardinals won the game 4–2. He hit his second in Game 3 of the 2006 National League Championship Series. The Cardinals would win the game 5–0 to take a 2–1 lead in the series.
Suppan started Game 7 of the 2006 NLCS against the New York Mets. He did not factor in the decision, giving up only one run in seven innings, but the Cardinals won 3–1, earning him the National League Championship Series MVP. Suppan in the 2006 NLCS had a 0.60 ERA in 15 innings pitched.
During the 2006 offseason Suppan signed a four-year, $42 million contract with the Milwaukee Brewers.