Colorado has lost just once in its last 15 games and has a 16-5 record since Jim Tracy replaced Clint Hurdle as manager May 29. The Rockies moved above the .500 mark for the first time since April 11.
Jason Marquis (9-4) went 8 2/3 innings while giving up three runs on eight hits. Pittsburgh scored twice in the ninth, prompting Tracy to bring in Alan Embree to retire the final batter in a non-save situation.
Hawpe's homer gave Colorado a 6-0 lead. He also had an RBI double in the third and the Rockies got a solo homer from Troy Tulowitzki.
The loss went to Ross Ohlendorf (6-6), who surrendered six runs on nine hits in five innings.
The Pirates have dropped three of four.