Zack Greinke pitched six strong innings to become the 19th pitcher to defeat all 30 major league teams, as the Houston Astros beat the Kansas City Royals 6-1 Saturday night.
Kyle Tucker had four hits, including the go-ahead single in the sixth inning for the Astros.
Houston (97-53) saw its magic number to clinch the American League West reduced to six, pending Oakland's game at Texas later Saturday. Houston came into the day with a 7 1/2-game lead over the A's.
Greinke (16-5) allowed one run on six hits. The former Royals first-round pick (sixth overall) in 2002 struck out seven and didn't walk anyone. He is the third Astro to reach 16 wins this season.
Mike Montgomery (3-9) took the loss. He gave up two runs on five hits in five-plus innings. He struck out one and walked five.
The Royals opened the scoring in the third inning, as Whit Merrifield drove home Nicky Lopez with an RBI double to the wall in left center. Lopez was originally ruled out at the plate, but the call was reversed after the Royals challenged. Merrifield went to third on the throw and was there with no outs, but Greinke retired the next three hitters and stranded him.
Alex Bregman tied it in the fourth with his 36th home run, just over Alex Gordon's glove and into the first row in left field. The Astros put runners on second and third with one out, but Montgomery retired the next two batters.
Houston took the lead in the sixth after a walk to Bregman and back-to-back singles by Yuli Gurriel and Tucker to start the inning. An error on Lopez at second loaded the bases and ended the night for Montgomery.
Reliever Tim Hill came in and got a strikeout, popout and flyout to leave the bases loaded.
The Astros scored three runs in the eighth on a three-run, pinch-hit home run by Yordan Alvarez. It was the first pinch-hit home run for Alvarez, and the first runs allowed in the majors by reliever Gabe Speier.
Houston added a run in the ninth for the final margin.
--Field Level Media