Eduardo Nunez's two-run double in the top of the ninth inning wiped out a one-run deficit as San Francisco posted a rain-delayed 6-5 win Friday night in Busch Stadium.
Trying for his 11th save, St. Louis closer Seung Hwan Oh (1-2) allowed a leadoff single to Brandon Belt and a one-out single to Brandon Crawford. Nunez walloped the first pitch off the base of the left-center field wall and both runners scored easily.
Bryan Morris (2-0) worked a clean eighth inning for the win and Mark Melancon, in his first outing since returning from a stint on the disabled list, pitched the ninth for his seventh save. It was the sixth win in seven games for the Giants (18-25).
The Cardinals (21-18) led 2-0 after Yadier Molina's RBI double in the sixth inning and reclaimed a 5-3 advantage on Dexter Fowler's three-run homer in the seventh, but their bullpen gave up six runs in the last three innings. It was their third straight defeat.
Denard Span poked two RBI singles for San Francisco. Belt and Crawford each collected three hits in its 13-hit attack.
The game was delayed by rain for 46 minutes, shortly after the Giants scored three runs in their half of the seventh. St. Louis manager Mike Matheny was ejected right after making a pitching change in the seventh as he argued balls and strikes with plate umpire Nic Lentz.
Both starters were no-decisioned despite posting quality outings. San Francisco's Matt Moore allowed five hits and two runs in six innings, walking three and fanning five.
Cardinals right-hander Michael Wacha, whose previous start was skipped for rest purposes, pitched six scoreless innings. Wacha gave up four hits and three walks in his first outing since May 7, whiffing five.
St. Louis scored the first run in the bottom of the third. Fowler slashed a triple into the right field corner, barely beating the relay throw into third, and jogged home as Tommy Pham skied a sacrifice fly to center.
Other than that moment, pitching dominated the game, even when rain hit after the top of the third. Moore gave up just two hits in five innings, fanning five and working around three walks.
Wacha found a rhythm in the middle innings, retiring seven straight after allowing a two-out walk to Buster Posey in the third. Wacha gave up walks in each of the first three innings but also whiffed four.
NOTES: St. Louis activated INF Jhonny Peralta (upper respiratory condition) from the 10-day disabled list and optioned OF Magneuris Sierra to Double-A Springfield. Peralta went 6-for-19 in six rehab games, split between Class A Palm Beach and Triple-A Memphis. ... San Francisco INF Conor Gillaspie (back spasms) began a rehab assignment Friday night at Triple-A Sacramento. He could be back for the Giants' series at the Chicago Cubs. ... Cardinals RF Stephen Piscotty (hamstring), who left after an at-bat Thursday in his rehab assignment at Springfield when he tweaked a knee, was back in the Springfield lineup and went 1-for-3.