Keuchel (2-0) allowed two hits in six innings, struck out seven and walked three, throwing a season-high 105 pitches.
Angels batters struck out a season-high 13 times, and Los Angeles was unhappy with the strike zone of plate umpire Paul Nauert. Collin Cowgill was ejected after he was called out on strikes, ending the seventh.
Springer's solo homer put the Astros ahead in the sixth, his first home run this season. Grossman hit a three-run drive off Mike Morin in the seventh.
A night after hitting two home runs and driving in five runs, the Angels' Mike Trout went 0 for 4 with two strikeouts.
Angels: Los Angeles plans to activate RHP Garrett Richards from the disabled list for Sunday's start. Richards, who had left knee surgery last August, had been on an injury rehabilitation assignment with Triple-A Salt Lake.
Astros: RHP Josh Fields (groin) impressed in his last outing with Triple-A Fresno, and manager A.J. Hinch said it was possible Fields could join the team during its upcoming three-city trip. "The report was that it was some of the best stuff that Fields has featured while on rehab," Hinch said. "His stuff was together and his changeup was really good. Fields is expected to see rehab action again Sunday. ... LHP Brett Oberholtzer is to throw batting practice as early as Monday as he comes back from a finger injury.
Angels: Richards, who went 13-4 with a 2.61 ERA in 2014, is to pitch for Los Angeles for the first time since Aug. 20.
Astros: RHP Scott Feldman (0-2) looks to bounce back from a poor outing April 13 against Oakland, when he allowed eight runs and 10 hits in five innings.