DENVER — German Marquez's fastball was dancing. His curve, almost untouchable. And after a diving catch by Carlos Gonzalez in the sixth, well, Marquez's mind couldn't help but wonder.

"I thought about it," Marquez said of a no-hitter.

That's how electric his command was.

Marquez allowed three hits over eight innings and got his first major league hit with a two-run single in the seventh to lead the Colorado Rockies over the Chicago Cubs 3-0 on Wednesday.

"For a young man against the world champions to do this, I mean, pretty special game," said Rockies manager Bud Black, whose team is off to its best 35-game start at 22-13.

Marquez had a no-hit bid going until Kris Bryant's double leading off the seventh. He walked Kyle Schwarber in the first and retired 16 straight before Bryant's hit to left.

The 22-year-old Marquez (1-2) struck out eight by mixing in a mid-90s fastball with an assortment of breaking pitches. The Cubs acknowledged they didn't know much about him before.

"You have to give the kid credit — he was on today and we had nothing to show for it," Bryant said.

With two on and two outs in the seventh, Marquez broke open the game with his liner to left on an 0-2 pitch left up. The Rockies bench gave him an ovation.

"I didn't look at that pitch, just swung," explained Marquez, who had the ball sitting on his shelf at his locker.

Greg Holland threw a perfect ninth for his 14th save in as many chances to help the Rockies take two of three from Chicago.

"That's how you draw it up: Get (Marquez) through eight, throw it to your closer, game over," catcher Ryan Hanigan said. "That was a great win for our pitching staff."

Kyle Hendricks (2-2) gave up three runs — two earned — in 6 1/3 innings.

"Just one of those days for us," Hendricks said.

Ian Desmond hit a go-ahead sacrifice fly in the fourth that was set up by an error. After Nolan Arenado's one-out single, Gonzalez sent a grounder to shortstop Javier Baez, who mishandled it. Mark Reynolds drew a walk, and Desmond lifted a ball to centre.

"The game should have been 0-0. We made the one mistake at shortstop and the unlikely single by the pitcher on an 0-2 count," Cubs manager Joe Maddon said. "Wow."

Marquez was recalled from Triple-A Albuquerque on April 25 to fill in with Jon Gray sidelined by an injury. Marquez struggled in his first two starts at Coors Field this season, posting an 11.70 ERA.

He found his masterful control Wednesday after a rain delay of 50 minutes at the start. It's the sixth time a Rockies pitcher has thrown at least six innings of no-hit baseball at Coors Field and first since Jorge De La Rosa on May 16, 2014, according to Elias Sports Bureau.

Marquez found himself in a tight spot in the eighth with two on and one out. Black showed faith in him to escape and he did, too, by getting two groundouts to end the threat.

TRAINER'S ROOM

Cubs: SS Addison Russell was a late scratch with soreness in his right shoulder. "He felt better through the course of the game," Maddon said after the game.

Rockies: C Tony Wolters (concussion) is taking swings in the batting cage. "I feel good," Wolters said.

PUT HIM IN, COACH

Third base on Tuesday, first base on Wednesday — Jeimer Candelario doesn't care where he plays. He was recalled from Triple-A Iowa on Tuesday as the 26th player before the second game of a doubleheader, but was kept around. Instead, pitcher Dylan Floro was sent back to Triple-A Iowa.

SCUFFLING CUBS

The loss drops the Cubs to 17-17 this season. It's been a crazy past few days for the Cubs, who've endured an 18-inning loss to the New York Yankees and then a day-night doubleheader Tuesday after a rainout the day before.

"This is kind of our worst baseball right now," Bryant said. "We're not hitting the panic button at all. We know the talent we have here."

UP NEXT

Cubs: Off Thursday before a three-game series in St. Louis. Maddon has yet to announce a start for Friday's game.

Rockies: LHP Tyler Anderson (2-3, 6.69 ERA) takes the mound Thursday against the Los Angeles Dodgers.

___

More AP baseball: https://apnews.com/tag/MLBbaseball