Clemens kwam uit zijn pensioen en tekende een eenjarig contract met zijn adoptiehuis Houston Astros op 12 januari 2004, samen met goede vriend en voormalig Yankees-teamgenoot Andy Pettitte. Op 5 mei 2004 nam Clemens zijn 4.137ste strikeout in zijn carrière op, waardoor hij op de tweede plaats kwam op de all-time lijst achter Nolan Ryan. Hij werd benoemd tot de starter voor het National League All-Star team, maar uiteindelijk was de verliezende werper in die wedstrijd na het toestaan van zes runs op vijf hits, waaronder een drie-run home run van Alfonso Soriano. Clemens eindigde het seizoen met een record van 18 tegen 4, en werd bekroond met zijn zevende Cy Young Award, en werd daarmee de oudste speler die ooit de Cy Young won op 42-jarige leeftijd. Dit maakte hem een van de zes werpers die de award in beide competities wonnen, samen met Gaylord Perry, Pedro Martínez en Randy Johnson en later Roy Halladay en Max Scherzer. Clemens was de verliezende werper voor de Astros in Game 7 van de 2004 NLCS
St. Louis Cardinals, 4 runs toegestaan in 6 innings. Hoewel hij goed gooide, werd hij moe in de zesde inning en gaf hij alle vier de runs op.