SAN FRANCISCO — Rockies cleanup hitter Justin Morneau was in protect mode with two strikes when he flicked his bat at a low pitch from Giants starter Madison Bumgarner and doubled down the right field line.
It wound up being Colorado's lone highlight of the night.
Bumgarner pitched a one-hitter and matched his career high of 13 strikeouts, and San Francisco beat Colorado 3-0 on Tuesday night to snap a three-game losing streak.
The two-time All-Star retired the first 21 batters before Morneau doubled on a 1-2 pitch to end the bid for perfection. That was the only baserunner that Bumgarner (15-9) gave up. He fanned the next three hitters en route to his third career shutout.
"I was trying to battle and try and put the ball in ball," Morneau said. "He made a pretty good pitch, down and I just got the barrel to it. I hit it in the right spot."
San Francisco's husky left-hander was attempting to follow Tim Lincecum's no-hitter at AT&T Park on June 25 against San Diego with another milestone evening for a sellout crowd of 41,050 on a pristine Bay Area evening.
It's the sixth time in his career that Bumgarner has had at least 10 strikeouts without walking anyone — a Giants franchise record.
"That game was probably more impressive than a lot of no-hitters, that's how well he threw tonight," San Francisco manager Bruce Bochy said. "You look at the strikeouts, his stuff, the command ... it was a very, very impressive evening for him."
The hapless Rockies came close to breaking it up in the top of the fifth inning when Matt McBride was thrown out by San Francisco shortstop Brandon Crawford on a close play at first base. Colorado manager Walt Weiss came out to dispute the call but did not ask for a replay after getting a signal from his dugout.
Colorado didn't come close to getting a hit otherwise.
"(Bumgarner) threw a lot of fastballs, a lot of elevated fastballs," Weiss said. "They're tough to lay off because of the angle. He was locked in tonight and throwing strikes, especially strike one for the first pitch."
De La Rosa (13-9) struck out five and walked two in five-plus innings before leaving due to a bruised thumb he hurt while batting in the sixth.
"He jammed his thumb on his last at-bat," Weiss said. "It was hurting pretty good. I don't have any major concerns right now. I think it did affect him."
Posey also homered in the eighth off reliever Brooks Brown. It's the second multi-homer game of Posey's career.
CONNECTION DROPPED AT AT&T
The Rockies had won four straight games at AT&T Park before losing for just the fifth time in 13 games overall against the Giants this season. That's remarkable considering Colorado owns the worst road record in baseball at 19-45.
Rockies: C Wilin Rosario missed his fourth straight game with a sore wrist. Rosario has done some light hitting in the cage but the team has not ruled out placing him on the disabled list.
Giants: Team officials are still awaiting word on backup catcher Hector Sanchez, who flew to Pittsburgh on Monday to meet with a concussion specialist.
Rockies: LHP Franklin Morales (5-7) pitches the series finale and is making his second start since a two-inning relief appearance against Cincinnati on Aug. 17.
Giants: RHP Tim Hudson (9-9) has a 4.35 ERA in 13 career starts against Colorado.