SAN FRANCISCO -- Justin Morneau came to the plate in the eighth inning with one thought in mind: Just see the ball and hit it.
"He throws from a tough angle and the hardest thing with him is picking up the ball," Morneau said. "Fortunately it was in a good spot and it was another good win for us."
Morneau's pinch hit highlighted a four-run rally for the Rockies, who scored in the ninth in each of the first two games of the series for the win.
"It was a great three games here," Rockies manager Walt Weiss said. "We kept it together and came up with big-time clutch hits. I love coming here and playing in this atmosphere."
Troy Tulowitzki had three hits, including a home run, and drove in two runs for the Rockies, who extended their season-high winning streak to five games.
"I've been here when they came back against us plenty of times," Tulowitzki said. "It's nice to be on this side and celebrating a terrific series."
Tulowitzki, who was nursing a sore toe, said he was good enough to play even though Weiss said the star shortstop talked his way into the lineup.
Madison Bumgarner pitched seven innings and homered in the fifth inning for the Giants, who have lost six of seven and were swept at home for the first time.
"We should have won some of the games we lost on this homestand but you're going to have some adversity," Bumgarner said. "The Rockies have one of the best offenses in the league and we weren't playing that badly. We just found ourselves on the losing side."
LaTroy Hawkins pitched the ninth for his 14th save in 15 chances.
"It's amazing, last week at this time we're in the dumps," Hawkins said. "Now we're on a high. It can turn around just like this."
D.J. LeMahieu then hit a sharp grounder to shortstop Brandon Crawford, who bobbled the ball before getting the force at second. Ehire Adrianza also had trouble controlling the ball and his relay throw to first was late, setting up Morneau's hit.
"The bullpen just unraveled," said Giants manager Bruce Bochy, who was ejected with two outs in the ninth for arguing balls and strikes.
The no-decision denied Bumgarner a chance to move into a tie for the NL wins lead with nine. He allowed four runs on six hits, walking four and striking out nine. Bumgarner had allowed a combined four runs in his previous 29 innings.
Rockies starter Juan Nicasio gave up three runs on four hits over two-plus innings. He walked four and struck out two. He's allowed 25 runs on 35 hits over his past 15 ⅔ innings, a 14.36 ERA.
Nicasio walked Tyler Colvin and Crawford to open the second inning and Adrianza singled to put the Giants ahead. Bumgarner bunted and was safe when Nicasio threw the ball wide. Crawford scored on the play. Hunter Pence also drove in a run.
Tulowitzki's 18th home run of the season, a two-shot into the left-field bleachers in the third, cut into the lead but the Giants answered when Hector Sanchez and Pablo Sandoval hit back-to-back home runs in the fourth.
Sanchez hit for Buster Posey, who left the game as a precautionary measure after taking a foul ball off his mask.
Brandon Barnes' RBI groundout in the fifth was matched by Colvin's RBI single in the sixth to make it 7-3 for the Giants.
Pinch hitter Josh Rutledge added an RBI double against Bumgarner in the seventh to cut it to 7-4.
Giants OF Angel Pagan was scratched from the starting lineup with lower back tightness. ... The Giants will start RHP Matt Cain (1-4, 3.84) against the White Sox in Chicago on Tuesday. He is 8-10 with a 2.71 ERA in 22 career interleague games. ... The Rockies will start LHP Tyler Matzek (1-0, 2.57) in their series opener against the Dodgers in Los Angeles on Monday. He'll be making his second career start. ... Rockies C Wilin Rosario made his first start at first base. ... Nicasio threw a season-high 38 pitches in the second inning ... RHP Santiago Casilla is expected to be activated by the Giants in time for their series in Chicago. ... Giants RHP Tim Lincecum turned 30.