The Royals finally wrestled away the opener of a three-game series by snapping an eighth-inning tie, when Billy Butler produced an RBI double against reliever Josh Fields. David Lough added an RBI double to provide a two-run cushion for Royals closer Greg Holland.
The Astros left the eighth-inning door wide open by finishing 2-of-15 with runners in scoring position. Marwin Gonzalez grounded into two double plays that defused rallies and the Astros failed to score with a runner at third, none out and their Nos. 3, 4 and 5 hitters coming up.
"We had four opportunities to put runs on the board and did not capitalize," Astros manager Bo Porter said. "Give Shields credit. He made good pitches during those situations and got some big strikeouts."
It was the second pitching duel between Shields and Astros starter Jordan Lyles this season. At Minute Maid Park on May 22, Lyles came out on top, 3-1.
This time, Shields and Lyles each went seven innings and left in a 2-2 game.
"The first outing I had against him was pretty similar," Lyles said. "I've got a lot of respect for him."
Although the Astros were all over the bases early and yet had just one run to show for it, Lyles said it wasn't deflating that he carried just a 1-0 lead to the bottom of the fourth.
"Good pitchers make good pitches when their backs are against the wall," Lyles said. "James Shields has been doing that for awhile now."
The telling sequence for the Astros came in the third, when Brandon Barnes led off with a single and Trevor Crowe rapped an RBI triple to right. But Shields kept the game at 1-0 by striking out Jason Castro, J.D. Martinez and Carlos Pena. Lyles didn't allow a hit for three innings, but the Astros promptly took a 2-1 lead when Salvador Perez launched a two-run homer in the fourth. All of a sudden, the Royals went from being on the ropes to being in control.
"I'm not happy with the pitch I made to Perez," Lyles said. "I was trying to go in and get him to roll over for a double play. It was up and he put a good swing on it."
The Astros managed to tie the game in the seventh when Castro lined a two-out RBI double to right-center. That set the stage for a battle of the bullpens and Kansas City's relievers came out on top. Kelvin Herrera, who was recently recalled following a temporary demotion to Triple-A, worked a clean eighth.
Porter went to Wesley Wright for a lefty-lefty matchup against Eric Hosmer to open the Royals' eighth and Hosmer blooped a two-strike single to ignite the winning rally. Fields then saw Butler smash his go-ahead RBI double past third.
"It's my job to hold the game right there and I wasn't quite as fine as I needed to be," Fields said. "It's pretty tough to give that up, especially after Lyles threw like he did. On the pitch to Butler, I threw it where I wanted, but the ball cut on me a little bit back over the plate. He put a good swing on it and got it right down the line."
The Astros (22-40) will try to start a new road winning streak on Saturday while the Royals (26-32) will try to extend a three-game victory streak.
Lough, the Kansas City right fielder, made the defensive play of the game with a lunging grab of Matt Dominquez's liner to right-center with two on in the sixth.
"It was a great play, running back to the wall," Royals manager Ned Yost said. "That saved a big inning for us right there."
It was that kind of slip-and-slide night for the Astros. A seven-game road winning streak just wasn't meant to be.