Morse also cracked a solo homer, while Pablo Sandoval also hit a solo shot and scored a pair of runs for the Giants, who have won seven of their last eight games.
Javier Lopez (1-0) notched the win after recording the final two outs in the seventh. Sergio Romo allowed an RBI single to Matt Carpenter in the ninth, but induced a game-ending pop up off the bat of Shane Robinson with runners on the corners to earn his 17th save of the year.
Allen Craig belted a solo homer among his two hits, two RBI and pair of runs scored for St. Louis, which has dropped three of its last four games.
The Cardinals led 4-3 after seven innings before the Giants surged ahead with a trio of runs in the eighth.
Gregor Blanco started the inning with a single and after pinch-hitter Tyler Colvin popped out, Blanco stole second. Angel Pagan then singled into center and Blanco originally held up at third. Carlos Martinez (0-3) attempted to cut off Peter Bourjos' throw from center, but the ball glanced off his glove and then darted past catcher Yadier Molina, allowing Blanco to score the tying run.
Cardinals manager Mike Matheny said after the game that Martinez was supposed to be behind the catcher.
"He was in the wrong spot and it ended up hurting," Matheny said.
Hunter Pence grounded out to move Pagan to third and Martinez intentionally walked Sandoval to put runners on the corners with two away. Trevor Rosenthal came on and Morse whacked a double that split the gap in right center to plate Pagan and Sandoval to give San Francisco a 6-4 advantage.
Jean Machi tossed a 1-2-3 eighth.
Earlier, Craig's two-out RBI ground-rule double in the home first opened the scoring before the Giants went in front by plating a pair of runs in the second.
Morse led off the frame with a solo shot deep into the seats in left-center. Brandon Hicks hit a one-out single and moved to second on a Brandon Crawford groundout and scored when Blanco squirted a grounder through the hole on the right side to give the Giants a 2-1 edge.
St. Louis went back in front following a two-run fourth.
Matt Holliday singled to begin the inning and Craig and Molina worked back-to- back walks to load the bases. Holliday crossed the plate when Jhonny Peralta rolled into a double-play. Jon Jay brought home Craig with a base hit into right-center, which put the Cardinals in front 3-2.
Sandoval cracked a blast over the wall in left-center to tie the game in the sixth, but Craig's leadoff shot into the front row of seats in the home half gave the Cardinals a 4-3 advantage.