DENVER -- The Royals' magical wave collided with the constant cloud over the Rockies, and Tuesday night's results reflected that.
Omar Infante's two-run double, followed by Salvador Perez's RBI double, with two out in the seventh inning gave the American League Central-leading Royals their 22nd victory in the last 27 games, 7-4 at Coors Field in front of 30,394 -- populated heavily with Royals faithful.
The Rockies' little bit of good news over the weekend was erased with more bad, injury-related tidings Tuesday.
On Sunday, the Rockies swept a doubleheader from the Reds, with Michael Cuddyer hitting for the cycle in the second game. But Cuddyer, who had missed 60 games with a fractured left shoulder, reported to work with a sore left hamstring and had to be scratched from the lineup.
Still, the Rockies took a 2-1 lead into the top of the seventh and had rookie lefty starter Tyler Matzek (2-9) pitching well.
"Tyler has done a nice job," Rockies manager Walt Weiss said. "He did a nice job tonight getting deep into the game. He's making strides. We're seeing him develop in front of our eyes."
But he was removed with two out and two on, and the game unraveled.
The Rockies struggled to produce runs against Royals righty James Shields (12-6). The Rockies managed nine hits, including Nolan Arenado's 14th homer of the season, in six innings against Shields, but just two runs. Shields struck out six and walked one.
"He throws a good changeup, throws it with good spin, and that's what his pitching relies on," said the Rockies' Corey Dickerson, who entered with a .326 batting average but had his hit streak end at 12 games.
Matzek, who was charged with three runs on six hits with five strikeouts and three walks, retired the first two batters in the top of the seventh. But pinch-hitter Josh Willingham singled and Nori Aoki battled from an 0-2 count to walk, and Matzek was lifted with his highest pitch total of the season, 98.
"I wish I would've got him," Matzek said. "I threw a couple of pretty decent sliders and he did a good job of laying off of them. I've got to be a little more aggressive in the zone against him and force him to beat me."
Weiss brought in righty Adam Ottavino, whose velocity is increasing, to face Infante.
Ottavino hit 98 mph to bring the count to 1-2, before Infante put his bat on another 98 mph fastball and lined a two-run double down the right-field line.
"We were set up perfectly right there, and Infante got a big hit against a really good right-handed reliever in Otto, just inside the line," Weiss said.
It was more of the same against Perez -- Ottavino worked to 1-2 with 98 mph fastballs, then watched Perez drive an 83-mph slider to center.
Ottavino said he wanted to go higher in the zone against Infante. He had no regrets about his pitch to Perez.
"That one, I give him more credit because he really hammered a decent pitch," Ottavino said.
The Rockies had two on and no outs against reliever Kelvin Herrera, but Arenado grounded into a double play and Dickerson bounced to second. After retiring two to begin the top of the eighth, Rex Brothers gave up two hits and two walks. Infante greeted Nick Masset by knocking his third double among his four hits.
The Royals scored all their runs with two outs, and have scored 12 of their 13 runs in the last two games with two outs.
"Their guy [Matzek] threw the ball well; It took us a while to get to him," Royals manager Ned Yost said. "But Omar's big hit off a tough righty is the thing that got us going."
Drew Stubbs knocked his 13th homer of the season with one out in the Rockies' ninth, against Francisley Bueno.
"We've got a little over a month to play, and we've got to push all the way to the finish line," Stubbs said. "You play a full season and don't turn it in early, regardless where you are in the standings."