Pittsburgh starter James McDonald took a no-hitter into the seventh inning but the Rockies were able to cobble together a run.
McDonald, who struck out eight, walked three and hit a batter, walked Carlos Gonzalez to open the seventh. Troy Tulowitzki reached on an infield single that broke up the no-hitter and both runners advanced on a wild pitch.
Giambi drove a 0-3 pitch to deep right-center, allowing Gonzalez to score easily.
The Pirates tied the score in the bottom of the inning with the third home run of the season by Pedro Alvarez.
Chris Resop (0-2) replaced McDonald in the eighth and, after a strikeout, hit Eric Young with a pitch. Young went to third on a clean base hit by Marco Scutaro and made the score 2-1 when Colvin flied out to relatively short right field.
Colorado starter Juan Nicasio scattered nine hits -- including the Alvarez home run -- over 6 2/3 innings. Matt Reynolds (2-0) got one out and the win while Rafael Betancourt pitched a 1-2-3 ninth for his sixth save.