Carlos Correa had three hits and scored a run for the Astros, who have won three of four following a seven-game losing streak. Dallas Keuchel (8-2) gave up three runs on four hits and walked two in 6 2/3 innings.
Nick Hundley had two hits and one RBI for Colorado, which has dropped five of six. Chad Bettis (2-2), a Texas native, allowed five runs on seven hits in five innings.
The Rockies brought the tying run to the plate in the ninth, but Luke Gregerson started a game-ending 1-6-3 double play to earn his 16th save.
The Astros started the first inning with three consecutive singles by Springer, Correa and Preston Tucker, the last of which produced a run. After Evan Gattis struck out swinging, Rasmus deposited a pitch from Bettis into the bullpen behind the right-center field wall for a 4-0 lead.
Springer made it 5-0 with a two-out blast to left field in the second.
Perfect through the first five innings, Keuchel walked Rafael Ynoa to begin the sixth. Hundley followed with Colorado's first hit, a solid single to left field.
Springer made a diving catch in right for the second out in the inning, but Keuchel gave up back-to-back RBI singles to Troy Tulowitzki and Nolan Arenado.
Keuchel was lifted after Hundley brought the Rockies to within 5-3 with a two- out run-scoring double in the seventh. Charlie Blackmon flied out to right against reliever Joe Thatcher to end the inning.
Springer homered off LaTroy Hawkins to begin the seventh.
Houston has won 14 of its last 19 home games ... The Astros have hit multiple home runs in 24 games this season ... Springer extended his hitting streak to eight games.