DENVER -- Ian Stewart was hoping he'd at least drive in a run when he came to bat with the bases loaded.
Maybe he was being a bit cautious with his expectations.
"I knew I hit it well, but I didn't know I hit it that well," Stewart said. "I was hoping it would go over his head, or worst-case scenario he catches it and we get a run home."
Closing the gap in the playoff chase was more important to Stewart than his home run.
"We needed this," he said. "We've had a couple of tough games the past couple of days, and this is big. If we can put together a streak, win four or five in a row, we might be close to the top of the wild card."
Tony Armas (2-4) retired the first six batters he faced before Yorvit Torrealba and Jamey Carroll led off the third with singles. After pitcher Elmer Dessens put down a successful sacrifice bunt, Ryan Spilborghs walked and Stewart drove a 2-1 pitch to left to make it 4-1.
"He stayed with it," Rockies manager Clint Hurdle said.
The Rockies have hit seven grand slams this season, extending the club record for a single season.
Stewart, who was called up from Triple-A Colorado Springs on Aug. 11, is the third rookie this year to hit a grand slam for his first major league homer. Houston's Hunter Pence did it May 5 at St. Louis, and Danny Richar of the Chicago White Sox did it Friday at Toronto.
"I gave him a pretty good pitch, a curveball away, and he hit it out of the ballpark. You can't do much about that," Armas said. "Lance Berkman got me like that in a game with Houston. That's the second time a guy hit a good pitch out."
The Rockies loaded the bases again in the third, but Armas got out of the jam without allowing a run. He gave up seven runs and eight hits in 4 1-3 innings, walking three and striking out four.
The Rockies scored three times in the fifth on Holliday's solo homer and Torrealba's bases-loaded single, which scored Todd Helton and Tulowitzki and chased Armas from the game.
"Tony was good for the first couple of innings," Pirates manager Jim Tracy said. "We got the home run and Tony started to lose the strike zone a little and ran himself into some deep counts."
Taylor Buchholz (6-4) got the win in relief of Dessens. Buchholz came on with two on and two out in the fifth and got Jason Bay to pop out to third. He retired the first nine batters he faced and 10 of 11 in the game.
"He's been good," Hurdle said. "He's feeling good and he's pitching with confidence."
Tulowitzki, who homered and tied his career high with four hits on Monday night, hit his 17th of the year off Shane Youman in the seventh. Hawpe followed with his 22nd, making it 9-2.
The Pirates scored on Nate McLouth's eighth home run of the year to lead off the third. He scored again on a groundout in the fifth.
- The four homers were a season-high for Colorado.
- McLouth has hit safely in 17 of his last 19 games.
- Stewart is the second player in Colorado history to hit a grand slam for his first homer. Jim Tatum accomplished the feat at Wrigley Field in Chicago on May 4, 1993.