SAN FRANCISCO (AP) -- Zack Cozart had two extra-base hits, including an RBI double in the top of the eighth inning that scored the game-winner, as the Cincinnati Reds defeated the San Francisco Giants 3-2 on Thursday night.
The Reds won for the ninth time in 11 games and have won 15 of their last 20 games at AT&T Park going back to the 2012 NLDS.
The Giants lost despite a four-hit game from center fielder Denard Span in his first game since coming off the disabled list. The Giants, who have an MLB-worst 12-24 record, lost for the sixth time in seven games and for the 10th time in their last 12.
Cozart doubled to left center off Giants reliever Hunter Strickland (0-1) scoring Scooter Gennett, who tripled to right leading off the eighth inning.
Wandy Peralta (2-0) pitched 1 1/3 scoreless innings. He came into the game with two baserunners aboard and two outs in the bottom of the seventh and got Brandon Belt to fly out to left.
Peralta pitched around Brandon Crawford's one-out double in the top of the eighth.
Reds closer Raisel Iglesias survived a white-knuckle ninth inning for his seventh save.
Right fielder Scott Schebler made a running catch on a ball off the bat of pinch-hitter Buster Posey, who had homered in his three previous games. Posey represented the winning run after Nick Hundley's one-out single off Iglesias.
The Giants had runners at first and third after Span's two-out single sent pinch-runner Gorkys Hernandez to third, but Iglesias got Belt to fly out to left.
Reds starter Bronson Arroyo allowed two runs, six hits and one walk in six innings.
Span went 4 for 5 with a home run and two doubles.
The Giants scored their only runs off Arroyo on home runs from Belt and Span.
Belt was hitless in 18 previous at-bats when he hit his fifth homer on the year, a shot to center off on an 84 mph cut fastball Arroyo left over the heart of the plate.
Span homered to right in the fifth to snap a 1-1 tie.
Giants starter Ty Blach remains winless in four starts after allowing two runs, five hits and one walk in seven innings.
He retired the first nine batters he faced in order, a streak that ended when Billy Hamilton singled leading off the top of the fourth inning. Hamilton took third on Cozart's double and scored on Joey Votto's infield grounder.
Reds: Recalled RHP Lisalverto Bonilla from Triple-A Louisville to take RHP Rookie Davis' spot in the rotation. Davis was sent to Louisville to work on his mechanics. Bonilla will start Saturday's game against the Giants.
Giants: Crawford (right groin strain) and Span (shoulder joint sprain) were activated from the DL. . The Giants optioned RHP Reyes Moronta back to Double-A Richmond and placed IF Conor Gillaspie on the 10-day DL with back spasms.
RHP Johnny Cueto (4-2, 4.50 ERA) is 0-1 with a 6.00 ERA for the Reds in two starts against his former team. He will be opposed by RHP Scott Feldman (2-3, 3.76) in a rematch of Sunday's game in which he outdueled the two-time All-Star, tossing a four-hitter in a 4-0 Reds victory.