HOUSTON -- In the midst of a heated wild-card race, the Philadelphia Phillies know there's little room for error.
That made Saturday's shutout loss to the Houston Astros that much more frustrating.
Kyle Kendrick got knocked around in an uncharacteristically shaky start, and the Philadelphia offence was held to just seven hits in a 5-0 loss to the Astros that hurt the Phillies' chances at a wild-card spot.
"We can't afford to lose games," said Kendrick, who gave up four earned runs over five innings for the loss.
The Phillies were slowed in their surge for an NL playoff spot for the second time in three games by the worst team in the majors. Philadelphia entered the day three games behind St. Louis for the final wild-card spot. The Cardinals played the Dodgers later Saturday.
"Tonight was unreal," Phillies manager Charlie Manuel said. "We have to keep playing. We've got to play better. They outplayed us."
Dallas Keuchel pitched five-hit ball into the sixth inning to help the Astros avoid their 100th loss of the season.
"I don't normally pay attention to the wins and losses, but I looked before the game and saw that we had 99 losses," said Keuchel (2-7), who won for the first time since June 23 against Cleveland.
Kendrick (9-11) struggled early in what became his shortest outing in more than a month. He gave up the four runs on seven hits, including a two-run homer to Justin Maxwell.
The Phillies blew a 4-0 lead in Friday's 6-4 loss to Houston (47-99) to open the four-game series, a loss that snapped a seven-game winning streak.
"It's tough to lose to a team like this," said Kendrick, who lost for only the second time in eight starts.
Jose Altuve, Brett Wallace and J.D. Martinez added RBIs for the Astros, whose 34-23 record against Philadelphia since 2004 is tops in the NL.
Keuchel (2-7) lasted 5 1-3 innings, escaping bases-loaded jams in the first and fourth innings to frustrate the Phillies, who left 12 on base and went 0-for-10 with runners in scoring position.
"I'm real happy for Keuchel," Astros manager Tony DeFrancesco said. "He battled out of a couple of tough jams, and I wanted to make sure the kid got a win when he came out. I'm real proud of him."
Four relievers combined to finish the seven-hitter.
Maxwell's two-run homer came with two outs in the first. It was Maxwell's 16th home run of the season. Altuve led off the inning with a single.
Altuve drove in Matt Dominguez in the second to make it 3-0 Astros. Wallace drove in a run with a ground-rule double in the fifth inning, and Martinez added an RBI single in the sixth off Philly reliever Josh Lindblom.
The Phillies loaded the bases in the first inning but failed to capitalize, with Ty Wigginton flying out to left to end the threat.
"He made pitches when he needed to," Kratz said of Keuchel.
In the fourth, Keuchel walked Dominic Brown with one out, then allowed Kratz a single. Kendrick moved the runners with a sacrifice bunt, and Keuchel walked Jimmy Rollins to load the bases.
But Keuchel got Kevin Frandsen's bouncing comebacker and threw it to first for the third out.
"We missed some chances," Kendrick said. "But I can't say I did my job either, tonight."
NOTES: Manuel said he plans to start C Carlos Ruiz every other game beginning Sunday. Ruiz, who pinch-hit Saturday, continues to recover from plantar fasciitis in his left foot, which landed him in the DL last month. . Astros infielder Tyler Greene will start at 2B on Sunday as manager Tony DeFrancesco gives Altuve some much-needed rest. ... SS Jimmy Rollins stole two bases, giving him 29 for the season, including a major league-leading 12 steals of third base.