The Pirates (16-21) have lost six straight games.
The Reds (15-21) won their second straight contest by pounding out 14 hits. Every Reds starter except one picked up at least one base hit.
Jerry Lynch (9) blasted a three-run home run in the first inning off Pirates starter Vern Law (1-5), then added a solo shot in the third inning.
The Reds added two runs in each of the eighth and ninth innings off reliever Bob Porterfield.
Bob Purkey (5-4) pitched a complete game seven-hitter for the win. Purkey even picked up a single at the plate.
The Pirates had one hit in every inning from the second through the seventh but couldn't cross the plate.
Lynch scored three runs for the Reds.