SAN FRANCISCO – It was not a perfect game. It was not a no-hitter. It didn’t end with toasts or ice buckets or Buster Hugs.

It only felt like Madison Bumgarner moved mountains and made history while utterly dominating the Colorado Rockies in a 3-0 victory at AT&T Park Tuesday night.

Bumgarner took a perfect game into the eighth inning but settled for a one-hit shutout while matching his career high with 13 strikeouts, all of it providing a massive jolt to a team that didn’t look like much of a contender a night earlier.

Justin Morneau became the first black-shirted visitor to reach base against Bumgarner when he rocketed a double into the right field corner to start the eighth inning. A sellout crowd sighed for a beat, then showered down applause.

Buster Posey hit a two-run home run in the sixth inning and added a solo shot in the eighth. And a team and a ballpark that had become so comatose on so many nights these summer months at Third and King went hoarse again.

Starting pitching report

It’s hard to pitch better than Bumgarner did. He poured first-pitch strikes like a foundry worker, his fastball had sparks coming off it and he started subtly expanding the zone once ahead.

He made his mistakes early, and got away with them. Gregor Blanco saved him in the first inning, when Drew Stubbs hit a deep drive to left field. Blanco got a good jump, took a well conceived route, timed his little hop and made the catch just short of the wall. It was a play that Michael Morse almost certainly wouldn’t have made – and didn’t, when Jake Peavy’s perfect game stretched into the seventh inning at New York’s Citi Field earlier this month.

Your browser does not support iframes.

Blanco also caught Nolan Arenado’s line drive to end the first inning, then made a running catch on Morneau’s well-struck ball to start the second inning.

From there, Bumgarner kept pumping first-pitch strikes fastball was lively all night and he got the Rockies to chasae it up in the zone, resulting in strikeouts and pop-ups.

The next close call came in the fifth inning, when Matt McBride hit a slow grounder to the left side. Shortstop Brandon Crawford backhanded it, threw on a bounce and Morse was able to pick it. First base umpire Jim Joyce (oh, the ironies!) made the out call, and although the players lingered on the field as Rockies manager Walt Weiss took a walkabout, the Rockies didn’t challenge. (Replays showed a near tie – probably not enough to overturn the call on the field regardless of which way Joyce went.)

The sixth and seventh innings featured more of the same: fastballs, first-pitch strikes and a quick trip back to the dugout. Bumgarner unleashed a wicked curve in the dirt to strike out Nolan Arenado to end the inning, and fully invest the buzzing crowd.

To that point, Bumgarner had thrown first-pitch strikes to 18 of 21 batters, with the Rockies taking 13 of them. He had thrown just 78 pitches. And he only had one three-ball count, to Stubbs in the fourth inning.

But then came Morneau, the most experienced and dangerous hitter left in a Rockies lineup without Carlos Gonzalez, Troy Tulowitzki and Michael Cuddyer. Morneau wasn’t going to watch a first-pitch strike. He swung through a fastball. Then Bumgarner threw another at 94 mph – one of his hardest of the night – that Morneau fouled off. A chase fasbtall missed and so Bumgarner came back with a curve, and Morneau kept his hands back. Pence never had a chance to catch the ball, which landed an arm’s length from the stripe in right field.

There was an audible letdown in the stands, but not on the mound. With the tying run at the plate, Bumgarner threw 11 pitches to the next three batters – all strikes, with the Rockies swinging and missing six times. Michael McKenry swung through a fastball, McBride looked at a slider and Brandon Barnes was no match for Bumgarner’s high heat.

A strikeout and two more outs in the air and Bumgarner had his sixth career complete game and his second shutout. He threw 80 of 103 pitches for strikes. As if we need to tell you, he did not walk a batter.

Your browser does not support iframes.

Bullpen report

The Giants didn’t need Tim Lincecum. Or anyone else in relief.

At the plate

Some things are hard to explain. Posey entered the game with a .239 average and way uncharacteristic .278 on-base percentage at home, compared to .336 and .412 on the road.

Yet when he homered on a 3-1 pitch in the sixth inning, it gave him exactly eight at AT&T Park and eight in road grays. And two innings later, he had his ninth.

Posey went deep again off right-hander Brooks Brown. It was his second career multi-homer game.

The Giants had just three singles in the first five innings against left-hander Jorge De La Rosa before Hunter Pence drew a leadoff walk in the sixth and Posey did damage on a 3-1 pitch. It appeared De La Rosa injured himself on the home run pitch, as the Rockies’ trainer began walking onto the field even before Posey was finished rounding the bases.

In field

In addition to his two-homer game, Posey came within six outs of joining Ron Hassey as the only players in history to catch two perfect games.

Attendance

With an official crowd of 41,050 the Giants extended their streak of announcing sellouts to 307 consecutive regular-season games.

Up next

The Giants and Rockies continue their four-game series at AT&T Park on Wednesday. Tim Hudson (9-9, 2.99) takes the mound against Rockies left-hander Franklin Morales (5-7, 5.32). First pitch is scheduled for 7:15 p.m. PDT.