Reliever Hector Neris (6-3) flipped head over heels trying to glove Isbel's squeeze bunt RBI hit in the seventh inning. Breaking a 6-all tie, the Royals added two more runs, aided by third baseman Alex Bregman's throwing error.
"The bunt was a huge play," Royals manager Matt Quatraro said. "Our speed came into play in that inning. We did some things there, putting the ball in play and using our speed."
"I thought that was a huge momentum swing," Isbel said. "(Quatraro) gave me the sign and it was my job to get it done."
With the Texas Rangers losing 2-1 at Cleveland, Houston maintained a half-game lead in the American League West Division despite the loss.
"We've got a small lead in the division but we need to play better baseball," Bregman said. "It starts with me. I need to make that play today. We need to execute better."
"The leadoff walks really hurt us," Astros manager Dusty Baker said. "And with a team that has speed and runs as much as they do, when you walk them, you're asking for trouble. We had some real big hits, but it was the leadoff walks and a couple of errors, and we opened the gates for them, and they walked through."
The Royals built a 4-0 lead against Astros starter J.P. France as Salvador Perez doubled in two first-inning runs, and Nelson Velázquez added a pair of RBI. Bobby Witt Jr. had two hits, scored twice, and stole his 47th base, which is the most for Kansas City since Tom Goodwin stole 66 in 1996.
France allowed five runs on five hits and four walks in 4 1/3 innings.
"It was frustrating," France said. "But my stuff, curveball, cutter, heater, everything was good. That's what makes it so frustrating, because I was locating. Just two hard-hit balls."
Houston rallied against Kansas City starter Cole Ragans, scoring three runs in the fifth with Yainer Diaz's 22nd homer and a pair of two-out RBI hits.
Ragans completed six innings, allowing five runs on six hits and two walks, striking out seven.
"I left some pitches over the middle of the plate and they got hit hard," Ragans said. "That happens. I felt like I made some really good pitches and a few I left over the middle of the plate."
Jose Altuve hit a three-run homer that curved just fair inside the left-field foul pole to tie the game in the seventh.
Logan Porter capped Kansas City's scoring with his first major league home run in the eighth, a 400-foot shot to center off reliever Joel Kuhnel, a former youth club teammate and high school opponent.
"I've faced Joel," Porter said. "I faced him earlier this year when he was with the Reds, so I kind of knew what to expect. He threw me a good pitch and I put a good swing on it. It was awesome."
James McArthur (1-0) struck out two for his first major league victory.
"To beat good teams, you've got to take their punches and be able to come back," Quatraro said. "It's rare when you face a good team with a good offense that you're going to keep them down the whole time. Being able to battle back, that's the kind of thing you've got to be able to do to beat good teams."
After the Astros scored two ninth-inning runs, Taylor Clarke retired Diaz to earn his second save.
Houston lost their first road series since dropping 2 of 3 at Dodger Stadium June 23-25.
Rain delayed the game's start by 36 minutes.
The clubs wore Negro Leagues uniforms, with the Astros sporting 1950 Houston Eagles road jerseys and the Royals in 1945 Kansas City Monarchs home uniforms. The game-used jerseys and caps will be auctioned with all proceeds benefiting the Negro Leagues Baseball Museum.
A fifth-inning foul tip dislodged Royals catcher Salvador Perez's face mask; he left the game two batters later with a non-concussive head impact.
AP MLB: https://apnews.com/hub/mlb