Gonzalez hit a solo shot in the first inning off Aaron Harang (3-4), his major league-leading 15th homer. He has six homers in his five-game streak.
The Padres overcame a fielding miscue by right fielder Brian Giles that led to two runs and won for just the fifth time in 24 games.
Gonzalez, one of the few bright spots for the 14-22 Padres, moved within one game of tying the club record for consecutive games with home runs set by Graig Nettles in 1984. Gonzalez, who had five homers and eight RBIs on the team's just completed 0-6 road trip, finished 1 for 3 with a walk.
Kevin Correia (1-2) allowed three runs and five hits over seven innings to earn his first win with the Padres. The right-hander signed with the team in the offseason.
Correia's win was the first by a Padres starter in 26 games since Jake Peavy won on April 16. San Diego starters were 0-12 during that span.
Heath Bell retired four batters to pick up his ninth save in nine chances.
The Padres scored three times in the seventh to take a 5-3 lead. Chris Burke reached on a leadoff single, advanced to second on a groundout and took third on Giles' base hit. David Eckstein followed with a tying single into right field.
Arthur Rhodes replaced Harang and walked Gonzalez on four pitches to load the bases. Hairston then hit a tiebreaking RBI single off David Weathers and Jody Gerut added a sacrifice fly.
Harang, a San Diego native, allowed five runs and eight hits.
Giles lost Alex Gonzalez's fifth-inning line drive in the lights, allowing Cincinnati to take a 2-1 lead. The play was ruled a double as Giles went to the grass as the ball was sinking. He stuck his glove up as he turned his head and nearly caught it before it hit the ground.
Joey Votto hit his fifth homer in the sixth to put the Reds up 3-1 but Kevin Kouzmanoff got San Diego within one again with an RBI double in the bottom half.
Notes:@ Adrian Gonzalez, whose shot Friday night came in San Diego's 36th game, did not hit his 15th home run last season until the Padres' 52nd game. ... Cincinnati's Willy Taveras went 0 for 4 to end his 14-game hitting streak. ... Alex Gonzalez started at shortstop for the first time since May 4. Gonzalez missed nine games with a strained left oblique muscle. ... Reds RHP Micah Owings, whose next start was pushed back until Wednesday because of off days, was available for relief work on Friday and will be available on Saturday. Cincinnati RHP Nick Masset (strained side) is unavailable through Saturday.