SAN FRANCISCO _ Buster Posey has done it before.
He's had months when he couldn't make a soft out. He's had series when he never missed a chance to drive in a run. He has hoisted the Giants and carried them on his back.
It's hard enough to lift a franchise when you're padding a first place lead or playing into October. It might be even harder when you're coming to the sudden realization that you are staring at a long season with little on the line. Nothing feels heavier than dead weight.
But the Giants cast Posey in position to win or lose a game Sunday afternoon, and he carried them to a 13-8 victory over the Minnesota Twins at AT&T Park.
Posey drove in a season-high four runs, including a pair on a go-ahead double that he threaded down the third base line in the seventh inning. Hunter Pence also doubled three times _ his first extra-base hits since May 8 _ and Austin Slater hit a bases-clearing triple as the Giants set a season high for runs in a game and avoided being swept in the series after two tepid losses to the Twins.
Posey entered the game with a .341 average and eight home runs, and was the leading vote getter among catchers for the NL All-Star team. Yet his 19 RBIs were so difficult to explain. He is a cleanup hitter who is contending for an NL batting title, and yet there were 189 major league players who had driven in more runs this season.
But Posey was able to drive teammates home on three occasions to help take Matt Cain off the hook for a loss. He hit an RBI ground out in the Giants' two-run first inning after Kelby Tomlinson and Eduardo Nunez had collected hits and Aaron Hill lifted a sacrifice fly.
Posey's one-out single in the fifth inning scored Nunez, who had doubled and stolen third base, to get the Giants within a run.
Then Tomlinson walked and Nunez singled on a slow roller to shortstop to set the table in the seventh against Matt Belisle. Hill fouled off a bunt attempt before hitting a foul pop to catcher Jason Castro _ the kind of execution mistake that offensively challenged teams like the Giants simply cannot afford to make.
But Posey rescued the inning with his double down the line, which satisfied an announced sellout crowd that got to enjoy more than merely a day in the sunshine.
Posey's performance wiped out an erratic start from Cain, who gave up home runs to Eduardo Escobar and Byron Buxton in the second inning and walked a pair of leadoff batters, including Brian Dozier to start the Twins' three-run fifth inning that the right-hander did not escape.
Gorkys Hernandez, getting a start in place of Denard Span in center field, made maters worse when he made an ill-advised throw to third base as two runners tried to tag up on Miguel Sano's deep fly ball _ a decision that allowed Joe Mauer to take second base, and then score on Robbie Grossman's single.
Mistakes like those have cost the Giants so many times this season. Hernandez also failed to score a runner from third base with no outs in the fourth inning. The game was setting up to be one of those one-run losses full of snags to examine.
But sometimes you must outhit your mistakes, and although the Giants have been ill equipped for that task most of the season, they broke through in the late innings. Slater finished a home run short of the cycle while driving in four runs, and the Giants matched the San Francisco-era franchise record with eight doubles in the game.
Tomlinson and Nunez reached base six times at the top of the order, Posey through, and the Giants got the add-on hits to score five more runs in the ninth.
Before Posey's hit, former Giant Chris Heston was set up to be the winning pitcher in his Twins debut. Heston, whom the Twins picked up on a waiver claim a few days earlier, was pitching against the Giants exactly two years and two days after he threw a no-hitter for them at New York's Citi Field.
Heston relieved Nik Turley in the fifth inning and gave up Posey's RBI single but would have been the pitcher of record had the Twins held onto the lead.
Instead, the Giants' nine runs over a two-inning span allowed closer Mark Melancon to sit down and provided a Petri dish for right-hander Sam Dyson to make his debut.
It did not go well. Dyson endured a mix of wildness and misfortune while failing to retire any of the four batters he faced. He allowed a double, a single, a very wild pitch and a walk before Posey fumbled a ground ball at first base for an error.
Bryan Morris entered and two run scored on a wild pitch and a ground out before getting another ground ball to end it.