Happ (3-1 since a trade from the Mariners, 7-7 overall) held the Rockies to one run -- Charlie Blackmon's fielder's-choice grounder scored Brandon Barnes, who doubled to lead off the third -- and five hits.
Nick Hundley cut the difference to one run with his 10th homer of the season, a two-run shot with no outs in the ninth against Pirates closer Mark Melancon. Daniel Descalso followed with a single before Melancon settled down to earn his Majors-leading 43rd save, which tied him with Jose Mesa (2004) for second-most in club history and put him three behind record-holder Mike Williams (2002).