SAN FRANCISCO -- As the Giants approached the halfway point of the season, manager Bruce Bochy said before the game that the offense hadn't been what he expected and he needed his big hitters to come through in the second half if San Francisco had any hope of salvaging the season.
Bochy had to like what he saw Friday night.
Slumping Buster Posey had three hits and two RBIs, and Alex Dickerson homered and drove in two runs to lead the Giants to a 6-3 victory over the Arizona Diamondbacks in the final game of the first half of the season.
"I've said so many times, these good hitters, they find it," Bochy said. "If we do that, then things will look really good the second half. We need these important guys to come through for us. We saw what happened tonight when they do."
Posey had been a big part in the team's struggles offensively this season. He came into the game with just three homers, 18 RBIs and a 15 at-bat hitless streak.
After flying out in his first trip to the plate, Posey hit an RBI double in the third inning against Merrill Kelly (7-8) and a run-scoring single in the fifth. Posey also singled in the seventh for his first three-hit game of the season.
"For the most part, I haven't felt great," Posey said. "Obviously that goes along with where my numbers are. The big thing is swinging at good pitches. But it you feel like you're not in a positon where you can get to certain pitches, you tend to chase a little more."
Dickerson had opened the scoring when he hit a drive over the right-field wall that bounced into McCovey Cove and also added an RBI single in the seventh. Dickerson was called up from the minors last week after being acquired earlier in the month in a minor league transaction with San Diego. He has seven extra-base hits and 12 RBIs in eight games with the Giants.
Shaun Anderson (3-2) allowed two runs and seven hits in 5 2/3 innings to get the win. He has pitched at least five innings and allowed three or fewer runs in eight of his first nine career starts.
Jake Lamb, Nick Ahmed and Jarrod Dyson hit RBI singles for the Diamondbacks, who had outscored the Giants 42-10 during a five-game winning streak in San Francisco.
Arizona had a chance at a comeback in the ninth after Dyson's single made it 6-3 and brought Ketel Marte to the plate as the potential tying run. But Will Smith struck out Marte and David Peralta to end the game. Marte went 0-for-5 to snap his career-best streak of reaching base safely in 20 straight games.
"The theme tonight was we couldn't the hit we needed," manager Torey Lovullo said. "You have to execute and sometimes you do and tonight we didn't. Scoring a run or getting a scratch run here or there is crucial and in this park especially. Runs are at a premium especially on night like tonight where it's cold and windy. We couldn't capitalize at the right time."
Kelly allowed three runs and seven hits in five innings.
Diamondbacks: C Alex Avila (strained left calf) was activated from the injured list. Caleb Joseph had been optioned to Triple-A Reno after Thursday's game. Avila could start Saturday.
Giants: OF Steven Duggar will begin a rehab assignment from a lower back strain on Saturday at Triple-A Sacramento.
Posey appeared to have his first homer in San Francisco in more than a year in the third inning. But as soon as he rounded the bases, Lovullo came out of the dugout to challenge the call. The review showed the ball hit off the top of the brick wall, just below the green awning on the fence, and Posey was sent back to second with an RBI double. Posey's last long ball at home came against Miami on June 19, 2018.
Brandon Crawford had three hits for the Giants to reach 1,000 for his career. He got there with a double in the sixth inning and scored on a groundout by pinch-hitter Tyler Austin.
RHP Zack Greinke (8-3, 3.08) takes a 5-0 career record in seven career starts in San Francisco into the game against Giants LHP Drew Pomeranz (2-8, 6.79). Pomeranz, who is coming off an 11-strikeout performance in a 2-0 loss to Colorado on Monday, is 0-4 with an 8.53 ERA in 10 career appearances against Arizona.
More AP MLB: https://apnews.com/tag/MLB and https://twitter.com/AP—Sports