AP Baseball Writer
SAN FRANCISCO (AP) -- San Francisco first baseman Brandon Belt is determined to force his way back into the lineup.
A few more hits like his game-winning single Monday night certainly could help press that issue.
Belt singled to left-center with one out in the ninth, Buster Posey tied it with a two-run homer in the eighth, and the Giants rallied to beat the Arizona Diamondbacks 5-4 for their seventh straight home victory.
Belt's first career walkoff hit came against Tony Sipp (1-1), who allowed a leadoff single to Andres Torres. Brandon Crawford sacrificed him to second. Belt was mobbed by his teammates afterward.
"I'm pretty lightheaded and my kidneys hurt right now," he said. "Somebody got me."
Posey's drive to straightaway center was his second homer of the year and second in two days.
Jose Mijares struck out two in the ninth before yielding Cliff Pennington's double. Closer Sergio Romo (1-1) relieved in a double switch as Belt entered at first base. Romo retired pinch-hitter Eric Hinske on a first-pitch grounder.
Belt delivered hours after manager Bruce Bochy and hitting coaches Hensley Meulens and Joe Lefebvre met with him during batting practice and urged the struggling first baseman to slow his body movements down. Joaquin Arias started in his place.
"When you get to this point you feel like you've heard a lot of things, but sometimes you forget it, and it's nice to have another set of eyes to remind you," said Belt, who is batting .197.
Arizona played its third straight one-run game.
Cody Ross hit a two-run single against the team he helped win the 2010 World Series and pitcher Wade Miley hit a towering, tiebreaking drive for his first career home run. But the Diamondbacks couldn't hold a 4-2 lead.
Eric Chavez also hit a solo homer for the D-backs.
"It's not the way you want to end it," Chavez said. "We do a lot of what they did tonight when we're down, so we've got to find a way to close the door when we have the lead. We put together really good at-bats late in innings like they did tonight."
Miley crushed a 2-0 pitch deep into the right field arcade in the fifth off Ryan Vogelsgong -- and the ball was thrown back onto the field, so the pitcher might have a souvenir to take home. Ross threw his right arm into the air to cheer his teammate.
In the sixth, Ross drew cheers with a sensational diving catch near the foul line in right field to rob Posey of a likely extra-base hit. Ross then got to his knees and quickly threw to the infield as shortstop Didi Gregorius clapped.
The Giants gave up home runs to a third different pitcher this month, the first time they had done so in the same calendar month since June 1953. Clayton Kershaw of the Dodgers and Milwaukee's Yovani Gallardo also connected against the Giants.
Vogelsong has allowed one homer in three of his four starts and each of his last three. The right-hander was tagged for two homers in a game for the first time since allowing three to Atlanta on Aug. 24 last year, the only time he did so in 2012.
"There's no quit in this team, I can tell you that," Vogelsong said. "We fight 'til the last out. It's pretty fun to watch."
He loaded the bases on just 12 pitches to start the game -- back-to-back singles by Gerardo Parra and Martin Prado followed by a seven-pitch walk to Paul Goldschmidt before Ross' bloop single that went past leaping second baseman Marco Scutaro.
That hit by Ross, the 2010 NL championship series MVP for the Giants, ended a stretch of 21 shutout innings by San Francisco's pitchers after consecutive shutouts in a weekend sweep of the Padres. It was the longest scoreless streak by the club since 36 innings from June 25-29 of last year.
The Giants added those two runs right back in the bottom half with three straight one-out doubles, including those by Pablo Sandoval and Posey to drive in runs after Scutaro got things started.
Goldschmidt walked in his first two plate appearances then was hit by a pitch in the fifth.
Miley struck out seven and didn't walk a batter but remains winless in three career starts and four total outings against the Giants.
At the plate, Miley was 0 for 5 this season and 12 for 83 lifetime (.145) with a pair of doubles before the homer.