Rookie Stephen Piscotty tripled and scored the go-ahead run on Mark Reynolds' groundout in the eighth inning, and the St. Louis Cardinals beat the San Francisco Giants 2-1 on Monday night.
The run came a little too late for Michael Wacha, who allowed one run in seven innings with six strikeouts but missed a chance to become the majors' first 15-game winner. The right-hander faced the Giants for the first time since allowing an NL championship series-ending homer to Travis Ishikawa last fall in his first appearance of the postseason.
Yadier Molina hit his third homer off Chris Heston leading off the fourth for St. Louis. The Giants tied it on Brandon Crawford's two-out RBI triple in the sixth.
The Cardinals have won nine of 12, ended the Giants' four-game winning streak, and lead Pittsburgh by six games in the NL Central. They're tops in the majors in overall record (76-42) and home record (45-18).
Kevin Siegrist (4-0) worked a perfect eighth against the top of the Giants order and Trevor Rosenthal earned his 37th save in 39 chances when pinch-hitter Buster Posey flied out to the wall in center.
Piscotty tripled off Hunter Strickland (2-2) with one out in the eighth and Brandon Moss was intentionally walked. On the deciding play, Crawford fielded Reynolds' grounder and ran to second for a forceout and then spun and threw wide to first, missing a chance at a double play.
Rosenthal tied Pittsburgh's Mark Melancon for the National League lead. Piscotty is 6 for 10 in the last three games, scoring five runs.
Heston is 0-3 in four outings this month, failing to last five innings in three of them. He was undone by five walks in 4 2-3 innings.
After surrendering Molina's homer, Heston walked the bases full later in the fourth before striking out Kolten Wong to end the threat.
Giants: RHP Tim Lincecum (hips) is scheduled to face hitters in a simulated game later this week.
Cardinals: Jason Heyward made his first start of the year in CF, but was taken out after two innings due to left hamstring tightness. Matt Adams (quad) leaves for Florida later this week to begin baseball activity and could begin a rehab assignment soon after that.
Ryan Vogelsong (8-8, 4.15) will start after the Giants decided not to activate Mike Leake, who had been scheduled to come off the 15-day disabled list after recovering from a hamstring injury. The Cardinals' Lance Lynn (9-7, 2.95) is coming off the shortest outing of his career, lasting just two-thirds of an inning and surrendering seven runs -- three earned -- in a loss to Pittsburgh.