Thomas Shea-USA TODAY Sports

Taylor Clarke muted a late rally attempt and the Kansas City Royals turned small-ball offense into a 3-2 victory over the host Houston Astros and a three-game road series win on Saturday.

The Royals (53-102) earned their fourth win in five games over the slumping Astros (85-70), whose postseason hopes took a blow with their eighth loss in 11 games. Houston fell 1 1/2 games behind the Texas Rangers, who beat the Seattle Mariners 2-0, in the American League West.

Houston is in possession of the AL's third wild-card spot by a half-game over Seattle.

Kansas City has won five straight games and nine of its past 10.

Stymied by Royals right-hander Jordan Lyles (5-17) for five innings, the Astros mounted a rally against the Kansas City bullpen starting with a leadoff home run by Chas McCormick in the seventh that cut the deficit to two runs. McCormick clubbed his 22nd homer off Royals reliever Collin Snider, who rallied with strikeouts of pinch-hitter Jon Singleton and Jose Altuve to strand Jeremy Pena in scoring position.

Houston then stroked back-to-back one-out doubles off Tucker Davidson in the eighth, with Kyle Tucker plating Yordan Alvarez and slicing the margin to one run. But Clarke entered for the Royals and, after plunking Jose Abreu with a pitch, retired McCormick and Yainer Diaz. Clarke then retired the side in order in the ninth for his third save.

The Royals fashioned their three-run advantage off Astros right-hander J.P. France (11-6) when Maikel Garcia reached on an infield single in the first and advanced to third on a stolen base and a Diaz throwing error before scoring on a MJ Melendez sacrifice fly for a 1-0 lead.

After Nick Pratto and Kyle Isbel reached in succession leading off the fifth via a single and a walk, both scored without the ball leaving the infield, with Pratto scoring on a fielder's choice groundout and Isbel following when France uncorked a wild pitch to Melendez.

After taking the loss in his previous start against the Astros on Sunday, Lyles was much sharper this time around. While he retired the side in order only once, doing so in the fourth, Lyles did not allow a baserunner to reach scoring position until Pena stole second base in the fifth.

Lyles issued two walks and recorded three strikeouts during his stint. Both walks -- to Alex Bregman in the first inning and Altuve in the third -- came with one out, but Lyles followed with consecutive flyball outs in both innings to mute any potential uprisings. Diaz and Pena produced singles off Lyles, but the Astros did little to mount a significant threat after both reached safely.

More must-reads:

TODAY'S BEST
Mavericks provide notable status update on star rookie ahead of Game 5
Watch: Benches clear after Giants buzz Bryce Harper
Wizards make decision on their new head coach
Veteran sportscaster gives valuable insight into Caitlin Clark's WNBA debut
Patriots QB Jacoby Brissett addresses 'elephant in the room'
Iga Swiatek, Naomi Osaka have opposite reactions to crowd following epic French Open match
AEW owner stays quiet on potential interest in top WWE star
Donovan Mitchell's influence on Cavaliers listed among 'most powerful' in the NBA
Clippers 'determined' to keep these two star free agents
AEW sustains another major injury blow after Double or Nothing
Celtics HC Joe Mazzulla offers update on Kristaps Porzingis ahead of NBA Finals
Bengals HC Zac Taylor addresses holdouts from pair of star receivers
Charges against Scottie Scheffler dropped
Yankees icon respects Juan Soto holding out for free agency
Kyrie Irving praises Karl-Anthony Towns for overcoming 'unfair criticism' in Game 4
Cardinals star addresses struggles: 'I don't know what the answers are'
Manchester United star taking break from social media after challenging season
Jets HC explains how former Pro Bowl RB could help team
What Anthony Edwards told Cowboys star after Game 4 win
Bronny James' agent provides huge update on client's future