The Padres salvaged a split of the four-game series a day after losing 9-6 in 18 innings.
Kouzmanoff hit a two-run single in the four-run fifth inning and a two-run double in the seventh. Adrian Gonzalez, who continues to lead the majors with 22 home runs, was walked three times, once intentionally. He leads the majors with 47 walks, including nine in this series and 20 in the last 10 games.
Heath Bell pitched the ninth for his major league-leading 17th save, in 18 chances.
Peavy (6-6), bothered recently by tendinitis in his right ankle, appeared to be limping as he walked to the dugout after the top of the seventh inning and after laying down a sacrifice bunt in the bottom of the fifth.
Last Tuesday night, Peavy left after just one inning of a 10-5 loss to the Philadelphia Phillies due to the flu. His start was pushed back a day to give him more time to recover.
The ace went seven innings, allowing two earned runs on seven hits. He struck out eight and walked two.
Arizona's Jon Garland lost his fourth straight start and for the fifth time in six starts.
Trailing 2-0 in the fifth, San Diego rallied for four runs on three hits, two walks and a hit batter. Kouzmanoff had a two-run single, Tony Gwynn Jr. an RBI base hit and David Eckstein a sacrifice fly.
Kouzmanoff chased Garland when his two-out double in the seventh dropped in just beyond the glove of Eric Byrnes, who was trying to run it down in left-center. Gwynn was aboard on a walk and Gonzalez had been intentionally walked ahead of Kouzmanoff.
Garland (4-6) allowed six runs and seven hits in 6 2-3 innings, walked five and struck out one.
Arizona's Josh Whitesell hit an RBI single in the fourth and another run scored on left fielder Chase Headley's fielding error.
Notes:@ Diamondbacks manager A.J. Hinch said OF Justin Upton is doing better after leaving Sunday's game with an aggravated left shoulder. Upton sat out Monday night and Hinch said he'll reconsider Upton's status Tuesday night before the opener of a home series against San Francisco.