The rest of the Rockies battering the reigning AL Cy Young Award winner? That was a nice boost at the end of a road trip.
"To beat a guy like that is a huge confidence booster," said Giambi, who has 799 career extra-base hits. "A lot of guys asked about him in this room and I said this guy's electric, when he's got it going he's got great stuff. Lucky for us, we caught him right before he gets going."
Giambi got it started against Kansas City's ace with a three-run homer in the third inning and capped a five-run fourth off him with an RBI single. Troy Tulowitzki homered, Clint Barmes drove in two runs and the Rockies chased Greinke (1-5) after 3 1/3 innings in his shortest outing in nearly two years.
The pitching wasn't so great.
Aaron Cook labored with command and couldn't end a lengthy road losing streak despite being spotted a 9-0 lead. Esmil Rogers (1-2) pitched two innings in relief to get his first career win, but he wasn't exactly sharp, allowing two runs and five of Kansas City's season-high 18 hits in two innings.
The Rockies made up for it by tying a team record with five double plays and banging out 15 hits.
"It was really good to see us swing the bats in the manner in which we did," Rockies manager Jim Tracy said. "We didn't necessarily pitch the game as well as I liked to see it pitched, especially when we got out to a 9-0 lead."
Greinke has been hurt by low run support in his disappointing start to the season.
Lately, the long balls haven't done him any good, either.
Last start, it was Baltimore's Luke Scott, who hit two solo shots off the right-hander in a no-decision that the Orioles went on to win in 10 innings.
Giambi took his turn against Greinke this time, launching a three-run shot to center that put the Rockies up 3-0 in the third inning.
Maybe that wasn't much of a surprise: of Giambi's five career hits against Greinke, four are homers.
But everyone else was hitting Greinke, too. He wasn't sharp for one of the rare times over the past two seasons and the Rockies pounced on seemingly every pitch, battering him for five runs in the fourth inning.
"Every once in a while it's not your day," Royals manager Ned Yost said. "That was one of those occasions for Zack today. He just struggled to get his fastball down."
The Royals still had a shot after Giambi's homer in the third inning, but Greinke's struggles in the fourth was too much to overcome.
Stewart had a two-run double in the inning, and Barmes, Dexter Fowler and Giambi each had run-scoring singles. The hits by Fowler and Giambi came after Royals shortstop Yuniesky Betancourt was charged with an error on an underhanded throw to second that rolled like a golf putt.
Greinke allowed eight runs -- seven earned -- on nine hits in his shortest outing since giving up seven runs in three innings against the White Sox on July 18, 2008.
"They weren't really swinging at it, so I was leaving in the wrong part of the strike zone," Greinke said. "Sometimes you get away with stuff, but they were aggressive and not really missing stuff."
Cook's problems came in the fifth inning.
The Royals roughed up the right-hander for four runs in the inning, getting run-scoring singles from Billy Butler, Mitch Maier and Chris Getz to go with Alberto Callaspo's sacrifice fly to cut the lead to 9-4.
Cook gave up four runs on nine hits in 4 1/3 innings to remain winless his last nine road starts, but Tulowitzki added a solo homer and Barmes a run-scoring double in the sixth to put the Rockies up 11-4.
"I made some bad pitches, walked a couple of guys and got some pitches up in the zone," Cook said. "I was just trying to give our defense a chance, they were turning double plays all day. I wasn't trying to strike anyone out, just let them put the ball in play, and they kept hitting it where our fielders weren't."
Butler had four hits, while Maier and Callaspo had two RBIs each.
A moment of silence was held before the game in memory of Jose Lima, who died Sunday of a heart attack. The colorful right-hander pitched for the Royals in 2003 and 2005. ... Rockies CF Carlos Gonzalez was a last-minute scratch due to a lingering sore left wrist. He was replaced by Fowler. ... Royals C Jason Kendall caught game No. 1,950, tying Tony Pena for fifth all-time. ... Kansas City's Willie Bloomquist hit his first homer in 170 at-bats off Randy Flores in the eighth inning.