Chris Heisey went 3-for-5 with two RBI and three runs scored. and Todd Frazier added a two-run homer as the Reds pulled even with the Pirates atop the NL wild card standings.
Billy Hamilton added three hits, crossed the plate twice and stole two bases for Cincinnati, which took the rubber match of a crucial three-game series and reeled off a fifth win in six contests overall.
Bronson Arroyo (14-11) cruised to the victory, surrendering three runs in five innings.
Pirates starter Jeff Locke (10-7) was jumped hard for five runs on three hits and two walks in less than an inning before being pulled.