The Mets led 1-0 on the strength of an unearned run and stingy work from Oliver Perez before Lopez hit his fifth career grand slam off 32-year-old rookie Raul Valdes. His first homer of the season came on a 2-1 pitch and landed in the visitor's bullpen in left.
Carpenter (2-0) struck out 10 in seven innings and allowed an unearned run on four hits, making a strong rebound from a poor outing Sunday in Milwaukee in which he allowed three homers and seven runs
- five earned - in five innings at Milwaukee. Earlier in the week the Cardinals' ace dismissed speculation about potential reasons for getting knocked around, saying he simply got the ball up and paid for it.
Carpenter fanned Gary Matthews Jr. three times and reached double digits in strikeouts for the 13th time, and first since Sept. 7 at Milwaukee. He's 2-4 with a 3.89 ERA in six career starts against the Mets and beat them for the first time since Sept. 8, 2005, in St. Louis.
Perez allowed a run and four hits in 6 1-3 innings before the handing it off to the bullpen, which entered with a 1.95 ERA that was second-best in the majors. The Mets have lost five of six.
Fernando Nieve (0-1) got ahead 0-2 in the count against pinch-hitters Skip Schumaker and Matt Holliday, who didn't start due to illness, and both reached to load the bases with one out in the seventh. Schumaker was hit on the foot on an 0-2 pitch and Holliday walked on four straight balls after taking the first two strikes, setting up Lopez's heroics.
Mets pinch-hitter Fernando Tatis lined out to third on a diving play by David Freese to end the eighth, stranding runners on second and third. Ryan Franklin allowed two runs on three hits in the ninth with RBIs by pinch-hitter Frank Catalanotto and Jose Reyes, before getting his fourth save in four chances.
Jeff Francoeur was 2 for 3 with a walk and has hit safely in the first 10 games, four shy of the Mets' record set by Wright last season and tied with three other players. Francoeur is batting .457 (16 for 35)