Jedd Gyorko drove in the other run for the Padres, who have won four straight. Andrew Cashner pitched seven strong innings, giving up one run on seven hits, while Joaquin Benoit (1-0) tossed a scoreless eighth for the win.
Brandon Phillips went 3-for-4 with an RBI for the Reds, who have lost four of six. Mike Leake also pitched well in the start, allowing just one run on two hits over eight innings. Aroldis Chapman (0-1) was handed the loss for giving up Headley's home run.
With two outs in the ninth, Headley knocked a pitch just inside the left-field foul pole for his fourth home run of the season and a 2-1 lead.
Huston Street tossed a 1-2-3 ninth for his 12th save of the season.
The Reds plated a run in the first inning after Billy Hamilton led off with a triple and scored on Phillips' single to right.
Todd Frazier doubled to lead off the Cincinnati fourth, but was stranded there and the team wasted another opportunity to go ahead in the sixth.
The Reds loaded the bases with one out, but Chris Heisey hit a grounder back to the mound, leading to a force out at home, and Zack Cozart popped out to end the frame.