DENVER (AP) -- Jon Gray was staring at a big first-inning jam, but one good pitch got him out of it and kept the Colorado Rockies rolling.
Gray continued Colorado's strong stretch of starts with seven scoreless innings, and the Rockies beat the Los Angeles Angels 4-2 on Tuesday night for their sixth straight win.
Gray walked one and struck out eight to notch Colorado's ninth straight quality start, a franchise record. He shook off a 28-pitch first inning to hold the Angels' potent lineup to four hits.
"All of them are pitching with a great deal of confidence," Rockies manager Bud Black said of his starting staff. "They have conviction of what they're going to throw. You can see during the game, even when there's some stress I've noticed poise and calmness through this stretch."
Colorado's starters have combined for an ERA of 1.92 over the last 12 games while the Rockies are 9-3 in that stretch.
"We always want to outdo each other," Gray said.
Justin Upton hit a two-run homer off Rockies reliever Adam Ottavino in the eighth to cut Colorado's lead in half but closer Wade Davis got the last three outs for his major-league leading 14th save.
Los Angeles averaged 7.7 runs while winning five of its last six but was quieted by Gray in hitter-friendly Coors Field.
"He made good pitches. He didn't give away anything," the Angels' Andrelton Simmons said. "He was throwing some good sliders away, some backup sliders. He was just hitting corners."
The Angels were poised for a big inning when they loaded the bases in the first on two singles and a walk but Gray struck out Zack Cozart on a full-count slider to end the threat. He was nearly unhittable after that, retiring 11 in a row and 18 of the last 20 he faced.
"We set the table early, had some good looks at him and he made some pitches to get out of some innings and then he got on a nice roll," Los Angeles manager Mike Scioscia said. "He made a great pitch on (Cozart) 3-2."
The Rockies took a 1-0 lead on DJ LeMahieu's RBI single in the third off starter Andrew Healey (1-2) and tacked on another run in the sixth. Trevor Story led off with a triple and scored on Gerardo Parra's one-out single to left.
Los Angeles tried to rally in the seventh. Simmons led off with a single and moved to second on a ground out. Shohei Ohtani, who didn't start because there is no designated hitter in NL parks, came up as a pinch-hitter. He worked the count to 3-1 but grounded out sharply to first, and Gray escaped without allowing a run.
"I knew it was going to be a big part of the game. He's really talented; saw him in spring training a few times," Gray said. "I knew we were going to have to execute pitches and throw our best stuff."
Colorado added a pair of runs on Story's two-out double off reliever Noe Ramirez in the seventh.
Ohtani wasn't in the starting lineup on Tuesday but he still thrilled the fans that arrived early for batting practice. Ohtani launched several moonshots in the cage, twice hitting balls into the third deck in right field as fans oohed and aahed.
Rockies: LeMahieu was activated from the 10-day disabled list and batted first. He missed nine games with a strained right hamstring. INF Pat Valaika was optioned to Triple-A Albuquerque to make room on the roster for LeMahieu.
Angels RHP Jaime Barria (2-1, 3.46) is scheduled to make his fourth start of the season on Wednesday in the finale of the two-game series. He will face Colorado LHP Tyler Anderson (2-0, 3.78).