Keuchel didn't allow a run over six innings, Springer hit his 11th home run and the Astros held on to beat the Minnesota Twins 5-4 on Friday night.
The Twins could have tied the game in the eighth inning if not for Fowler's spectacular, diving grab that robbed Trevor Plouffe of a leadoff extra-base hit.
''That play by Dexter Fowler may have been the play of the game,'' Astros manager Bo Porter said. ''That's a leadoff double, if not a triple, if he ends up diving and not getting the ball.''
Danny Santana hit his first career home run, a two-run shot in the seventh inning off reliever Tony Sipp as the Twins tried to rally late.
After the start of the game was delayed 1 hour, 21 minutes by a storm that never arrived, Keuchel (7-3) struck out six and won for the fifth time in his last six starts.
Springer drove a pitch from Hughes that was down and away and off the plate an estimated 402 feet to the opposite field in the sixth to give Houston a 5-0 lead.
''That there is what you call power to all fields,'' Porter said with a big smile on his face.
It was Springer's first homer in June after he hit 10 in May and was selected the American League rookie of the month.
Since May 11, Houston is 16-9 and on track to avoid 100-plus losses for the first time since 2010.
Gonzalez pulled back on a drag bunt attempt in the third, then lined the next pitch over the wall in right field to give the Astros a 1-0 lead.
Dominguez drove a high fastball from Hughes to straightaway center in the fourth, hitting it just far enough to get it over the glove of a leaping Aaron Hicks.
It was the first time Hughes allowed multiple homers since his first start of the season on April 3. Coming into the game, Hughes had allowed only four home runs all season and just one in his last 48 innings.
''Just the mistakes over the plate really,'' Hughes said. ''I didn't have my best fastball tonight and just wasn't making adjustments the way I had before.''
Chad Qualls pitched around a two-out throwing error by Dominguez in the ninth to earn his seventh save in eight chances.
Eduardo Escobar had three hits including an RBI double that made it 5-4 with two outs in the eighth.
Escobar's double would have tied the game if Fowler didn't sprint over to the left-center gap and rob Plouffe, sliding a long way on the grass after securing the catch.
''When it was hit, I was like, 'I got to go a long way for that,''' Fowler said. ''So I just put my head down and ran and I picked it up. The only way I could catch it was if I dive for it.''
Oswaldo Arcia, who homered in his previous two games but didn't start because of a sprained ankle, pinch-hit and flied out on the first pitch from lefty Darin Downs.
But it was the Astros' defense, including a diving play for the first out in the ninth by second baseman Jose Altuve that saved this one.
''They made play after play,'' Twins manager Ron Gardenhire said. ''We hit some balls pretty good and they kept making diving plays all over the place, which actually saved the ballgame for them because we put some decent swings out there and had plenty of chances.''
About 10 minutes before the first pitch, the Target Field grounds crew rolled out the infield tarp in anticipation of a storm that was approaching the area. It never rained during the delay, but light rain did fall in the early innings.
NOTES: Leroy ''Bud'' Miller, a World War II veteran who was part of the landing force at Normandy Beach 70 years ago, raised the American flag before the game. ... Injured Astros SS Jonathan Villar missed his third straight game after getting hit in the right elbow Tuesday. ... Plouffe hit his 22nd double in the fourth inning, tying a career high. ... Minnesota has drafted eight college pitchers in the first 10 rounds of the MLB draft.