Ian Kennedy showed why he is a candidate for hit ball 0, to inch closer to their first NL West title since 2007.
Kennedy (20-4) tied a career-high with 12 strikeouts, including six straight, while walking only one en route to becoming just the fourth Arizona pitcher to have a 20-win season. He joins Randy Johnson, Curt Schilling and Brandon Webb on that list. He's the first to reach 20 wins this season in the National League.
"We had a nice little ceremony in there (locker room) for Ian," Diamondbacks manager Kirk Gibson said. "He deserved the win."
The D-Backs also reduced their magic number to four to win the NL West. They stand 5 1/2 games ahead of San Francisco, which didn't play Monday.
Justin Upton's sixth inning homer was all the offense the Diamondbacks would need. Paul Goldschmidt and Miguel Montero added hits for Arizona.
Jeff Karstens (9-9) pitched well in defeat, giving up five hits. He also collected one of two hits for the Pirates. The Buccos have lost four consecutive games.
After five innings of scoreless baseball, Upton finally broke the tie in the when the center fielder blasted his 31st home run of the season just over the left field wall.
"I thought it was going to hang up and I was going to catch it like normal," Pirates left fielder Alex Presley said. "I got back there in time and thought I was going to be able to make a play on it, but it didn't work out."
The Pirates made Kennedy's milestone victory difficult in the top of the ninth against closer J.J. Putz, who held on for his 42nd save. He got pinch-hitter Garrett Jones to ground out to begin the frame, but left a fastball over the plate to Presley, who crushed the ball deep into the right-center field gap for a triple. Gibson elected to play his infield in to try and prevent the run from scoring on a ground ball. Putz kept his cool and got Neil Walker to ground out to first, and then struck out Andrew McCutchen with a high fastball to end the game.
Arizona is 46-27 at home this season...Prior to Monday's game, the Diamondbacks selected the contract of pitcher Jarrod Parker from Double-A Mobile and designated infielder Tommy Manzella for assignment...Pittsburgh has gone 17-31 in Arizona since the 2006 season.