Updated

The Houston Astros are focused on building for the future.

That makes the continued improvement of 22-year-old starter Jordan Lyles an encouraging sign in their tough present.

Lyles had his best performance of the year on Tuesday, yielding six hits and one run in a season-long seven innings before closer Jose Veras gave up a run in the ninth inning to lift the Colorado Rockies to a 2-1 win in interleague play.

"Jordan Lyles — today is what you would call graduation," Houston manager Bo Porter said. "I think he's learned from his time last year. I think he's learned from early on this year, and he was able to make quality pitches to get himself out of some tough jams and got the big strikeout when he needed it."

The soft-spoken and humble Lyles deflected any praise.

"I'm just trying to get outs, really," Lyles said. "Just trying to put up good outing and not let our bullpen throw too many innings. I'm just trying to do my job."

Lyles started the season in Triple-A, and was knocked around in a couple of his early starts. He's been solid in his last three outings, going 1-0 with a 1.50 ERA.

"That's what we expect as an organization," Porter said. "We've always known he's had the stuff. Now he's confident with the stuff. You get outings like this when you have confidence."

Michael Cuddyer had three hits, including an RBI single in the ninth inning that gave the Rockies the victory.

Troy Tulowitzki doubled off Veras (0-4) to start the ninth and advanced to third on a wild pitch. Cuddyer followed with his single, which sailed just out of reach of leaping third baseman Matt Dominguez.

"Cuddyer's a very good hitter, and if you look at that slider that he was able to go down and lift up with a base hit, it's a really good pitch and he basically put an even better swing on it," Porter said.

Tulowitzki had an RBI single in the first. Chris Carter tied it in the fourth with an RBI grounder.

Colorado starter Jorge De La Rosa scattered five hits with one run over seven innings. He had won his previous four starts.

Matt Belisle (2-2) threw a perfect eighth for the win. Closer Rafael Betancourt struck out two in the ninth for his 11th save.

Wesley Wright took over and struck out two in a scoreless eighth for Houston before he was replaced by Veras.

The Rockies won late a day after Houston got a 3-2 victory in 12 innings.

Dexter Fowler drew a walk to start the game and advanced to third on a single by Nolan Arenado. A one-out single by Tulowitzki put Colorado ahead.

Fowler walked again to begin the third. Arenado reached on a forceout and eventually reached third, but was caught at the plate when shortstop Ronny Cedeno made a nice catch on Tulowitzki's fly and threw home.

"That's a great play. Not only the catch but the wherewithal to get rid of the ball at the speed at which he got rid of the ball and the accuracy of the throw," Porter said. "So, if that's in the Olympics you're judging it a 10."

Cedeno said he got some help from left fielder J.D. Martinez on the play.

"I heard J.D. say, 'home, home' and I just turned around and threw the ball," he said. "Just no balance, just threw the ball."

The Rockies had another chance to add onto their lead in the fourth when they loaded the bases with no outs. But Colorado came up empty when Lyles struck out Yorvit Torrealba and DJ LeMahieu grounded into a double play to end the inning.

De La Rosa hit two batters in the fourth. Carlos Corporan later scored when Arenado fielded Carter's grounder to third base but threw it over Torrealba's head at the plate.

NOTES: De La Rosa, who was born in Monterrey, Mexico, had about 20 relatives drive in from Mexico to watch him pitch. ... These teams head to Colorado to start a two-game series on Wednesday. Houston's Erik Bedard opposes Tyler Chatwood in the opener at Coors Field. ... Houston recalled RHP Brad Peacock from Triple-A Oklahoma City on Tuesday to take the spot of OF Robbie Grossman, who was optioned there on Monday. ... Houston OF Justin Maxwell, on the disabled list with a broken bone in his left hand, will go to extended spring training in Florida on Wednesday to take live at-bats before starting a rehabilitation assignment with Class A Quad Cities.