HOUSTON -- Even Andrew Heaney couldn't remember his last road win.
"Apparently, it's been awhile," the left-hander said.
Heaney (8-8) scattered five hits with six strikeouts to earn his first road win since Sept. 2, 2015, at Oakland, a span of 17 straight road starts.
"Heater was good," Heaney said. "Breaking ball mixed in at times, and I really didn't throw the changeup all that much. ... I got some timely outs. I kept them from building that big inning."
After missing all but one start in 2016 with Tommy John surgery and starting just five games in 2017 -- including three on the road- he began the day 0-5 in 12 road starts this season.
Heaney, who allowed five runs in six innings in his last start Friday against the Astros, improved to 3-1 against Houston this season and allowed fewer than two runs in three of the four outings.
"Coming from just facing them last week, it looked like his command was where it needed to be," Angels manager Mike Scioscia said. "He had all his pitches working. He pitched ahead in counts. He checked all the boxes that should lead to a great outing."
Heaney's only other shutout start this season was June 5 against Kansas City in which he threw a one-hitter. He had allowed 11 runs in his last two starts.
"We saw him a couple days ago and he didn't quite have the velo that he had tonight," Houston manager AJ Hinch said. "And then I think four out of the first five innings we had baserunners and they were erased one way or another, so he was able to escape any baserunners that we had. He threw a really good game.
Justin Upton, who was reinstated off the disabled list earlier in the day, put the Angels on top 1-0 with an RBI single to right earlier in the inning, chasing Justin Verlander. Kole Calhoun started the inning with a double and moved to third on Mike Trout's one-out single.
"We got some big hits in the sixth inning," Scioscia said. "We haven't gotten too many good looks at Justin all year, but tonight, we got him in the sixth."
Ohtani scored on Chris Devenski's balk in the eighth to increase the lead to 5-0.
The AL-West leading Astros began the day 2 1/2 games up on Oakland.
Verlander (13-9) allowed three runs and five hits but struck out 11 in 5 1/3 innings. He allowed three or more runs for the third straight start.
"Not great; we lost," Verlander said of his night. "Feel like I had good stuff. Unfortunately, I gave up a couple hits in a row and those guys were able to capitalize on it."
Tyler White hit a two-run homer to left field in the ninth as Houston avoided the shutout.
Angels: RHP Ohtani (right UCL sprain) will start Sunday against the Astros. Ohtani, who threw a simulated game on Saturday, last pitched for the Angels on June 6. ... 1B Albert Pujols (left knee) was placed on the 10-day disabled list after undergoing an arthroscopic debridement in Los Angeles on Wednesday. The general timetable to return to playing from the procedure is at least six weeks. "That's a big loss for us," Scioscia said. "I think Albert is part of the heart and soul of this club." ... RHP Matt Shoemaker will join the team in Houston and throw a bullpen sometime during the weekend, with the possibility of joining the rotation sometime early next week if everything goes well, Scioscia said. Shoemaker threw four hitless innings allowing one unearned run on two walks and six strikeouts Wednesday in a rehab start with Class A Inland Empire. ... C Jose Briceno was recalled from Triple-A Salt Lake Thursday.
Astros: C Brian McCann (right knee) will catch on Saturday, Hinch said. McCann has been on the disabled list since July 1.
Angels: RHP Jaime Barria (8-8, 3.67 ERA) will make his 21st start of the season Friday against the Astros looking to rebound after allowing four runs in three innings in his last start Saturday against them.
Astros: LHP Framber Valdez (2-0, 0.96) will make his first career home start Friday against the Angels looking for another good outing after allowing one run in five innings in his last start Saturday against them.
For more AP baseball coverage: https://apnews.com/tag/MLBbaseball and https://twitter.com/AP-Sports
Votto pops out to 1B for first time in 13-year career
Joey Votto pops out to first base for the first time in 6,827 plate appearances over 13 seasons in the MLB.
Vlad Jr. smashes home run to left field
Vladmir Guerrero Jr. smashes a home run to deep left field for a 441-foot home run in Buffalo.
Dozier rockets HR to give Royals lead in 10th
Hunter Dozier sends one flying into the stands in left field and gives the Royals the lead and the win in extra innings.
Anderson spikes bat, gets drilled; Royals top Chisox in 10
Fiercely energetic Tim Anderson spiked his bat to celebrate a home run and Kansas City's Brad Keller responded by drilling him with a fastball, setting off a benches-clearing fracas in the Royals' 4-3, 10-inning victory over the Chicago White Sox on...
Dodgers and Brewers meet again in Milwaukee
If it's considered a quirk in the schedule, the Milwaukee Brewers don't seem to mind.
Dodgers tie MLB record with latest HR at home
A.J. Pollock hit a three-run home run in the sixth inning, and the Los Angeles Dodgers tied the major league record by homering in their 32nd consecutive home game during a 3-2 victory over the Cincinnati Reds on Wednesday.