Williams kept on making his case Sunday, winning a third straight start for the first time since April 2004 as the Angels beat Houston 2-1 to send the Astros to their 98th loss of the season.
Houston, a big league-worst 51-98, is on the verge of becoming the first major league team to reach triple figures in losses in three consecutive seasons since Kansas City from 2004-06. The Astros were 56-106 in 2011 and dropped to 55-107 last year, their final year in the National League.
Williams (8-10) entered following wins over Tampa Bay and Toronto, and he allowed one run on five hits in seven innings.
"This team is a real good team," said Williams, who began the season in the bullpen. "I would love to come back and be part of this team and hopefully make that run for next year."
A veteran of 10 seasons, Williams knows he has to produce.
"I just have to keep on working," Williams said. "I think I have two more starts, and I just have to keep building on it.
I can't control what happens after; all I can control is what I'm doing on the mound right now. That's what I'm trying to do, and let everything else fall into place."
Angels manager Mike Scioscia said Williams has pitched solidly since moving into the rotation in May.
"He's given us chances to win," Scioscia said.
Williams benefited from solid defense and a two-inning relief appearance by Ernesto Frieri, who earned his 34th save in 38 chances.
"It was a good defensive game for us," Scioscia said.
Josh Hamilton had an RBI triple in the first off Paul Clemens (4-5), a drive off the glove of center fielder Brandon Barnes as he went up Tal's Hill. Mike Trout had reached with his AL-leading 100th walk.
"There aren't many ballparks that would hold that ball," Scioscia said. "I think that in any other ballpark we're playing that's a two-run home run."
Andrew Romine hit a sacrifice fly in the fifth after singles by Erick Aybar and Hank Conger.
Frieri entered with two on in the eighth and got six outs, including four via strikeout.
After Jose Altuve's eighth-inning sacrifice, Frieri struck out Trevor Crowe and Brett Wallace. Matt Dominguez singled on a 12-pitch at-bat leading off the ninth, and Frieri retired three in a row.
"It's certainly not our preference to have him go six outs, especially when he's got to throw 25-30 pitches, but he felt good today and over the course of the last 10 days he hasn't been out there that much," Scioscia said. "He felt fresh."
Frieri said he appreciated the trust.
"This time of the season, I'm 100 percent ready to go," Frieri said. "Whenever they call for you down in the bullpen, you have to be ready, mentally and physically."
Los Angeles has won five of six overall and 14 of its last 17 road games.
Marc Krauss homered in the second for the Astros, his fourth of the season. Clemens, making his third career start, allowed six hits in seven innings.
"It was impressive," Astros manager Bo Porter said. "I felt like he did a tremendous job of using all of his pitches."
Houston left seven on base and was 0 for 4 with runners in scoring position.
"First and third one out. We had a run-scoring opportunity and we don't get it done there," Porter said. "You have second and third, one out and unable to get it done there again. We had our opportunities, and we just weren't able to capitalize."
NOTES: RHP Dane De La Rosa made his 70th appearance, setting an Angels record for rookie appearances. He let two on in the eighth before exiting. ... Trout is the first AL player in history with 70 extra-base hits, 30 stolen bases and 100 walks in a season. ... Astros rookie Max Stassi (concussion) said he remains hopeful to catch before the end of the season. Stassi, who has been sidelined since Aug. 21 after he took a pitch to the face in a 5-4 loss at Texas, caught another bullpen session Sunday.