KANSAS CITY, Mo. -- Although Alcides Escobar didn't make solid contact, he immediately knew he had a game-winning hit.
Escobar singled home Paulo Orlando with two outs in the 10th inning to lift the Kansas City Royals to a 2-1 victory over the Houston Astros on Saturday night.
Orlando singled off Will Harris (4-3) with one out and stole second before Escobar's game-winning looper to shallow right gave the Royals the win and snapped the Astros' five-game winning streak.
"With a man on second base, any base hit in that scoring position, he will score easily," Escobar said. "I see this guy (right fielder Colby Rasmus) he is playing right to the line and the second baseman (Jose) Altuve playing to the middle, I say no chance, game over."
Kelvin Herrera (2-2) pitched a scoreless 10th to pick up the victory.
Eric Hosmer tripled high off the left-field fence with two out in the ninth, but was stranded when Harris retired Alex Rios on a grounder.
"Runs were hard to come by, obviously," Astros manager A.J. Hinch said. "Then we got beat by a little bleeder. It was an exciting game, a tough one to lose. These type of games are character builders. There are no moral victories around here, but I was proud of our guys. We fought pretty hard. We played an extremely tough team."
The Astros grabbed a 1-0 lead in the sixth when Altuve singled and stopped at third on Marwin Gonzalez's double into the left-field corner. Rookie Carlos Correa hit a sacrifice fly to center to drive in Altuve.
Houston right-hander Scott Feldman took a one-hitter into the seventh inning before the Royals tied it. Escobar's led off with an infield single and moved to third on Kendrys Morales' ground-rule double to center.
After Hosmer was walked intentionally to load the bases, Salvador Perez's sacrifice fly scored Escobar, snapping the Royals' 15-inning scoreless drought.
Feldman, who was making his second start since having right knee surgery in late May, left after 7 2/3 innings, allowing four hits and one run, while walking one intentionally and striking out two.
Pat Neshek replaced Feldman and stranded Orlando at second base to end the eighth. He has permitted just one of 15 inherited runners to score this season.
Royals left-hander Danny Duffy was pulled after six innings and 101 pitches, allowing one run and three hits, while walking one and striking out three.
"My fastball had a lot of life," Duffy said. "When I made bad pitches, the defense made plays. I was really quite honestly pretty tired in the fourth, but my fastball felt pretty strong all night."
DAVIS JOINS O'BRIEN
Royals RHP Wade Davis threw his fifth scoreless outing since the All-Star break to lower his ERA to 0.43. He is the second pitcher in big league history to record an ERA below 0.50 after 40 innings, joining Red Sox pitcher Buck O'Brien, 0.38 in 1911.
Astros: INF Jed Lowrie (right thumb ligament tear) went 2 for 3 with a double and a RBI, while starting at third base Friday in a rehab game with Double-A Corpus Christi. He got the hits swinging right-handed. "That's the side of the plate we were most concerned about him adjusting to after the injury," Hinch said.
Astros: LHP Dallas Keuchel, who leads the American League with a 2.12 ERA, goes for his 13th victory.
Royals: RHP Yordano Ventura, who got a reprieve Wednesday, will start Sunday. Ventura was optioned Tuesday to Triple-A after a succession of poor outings, but was recalled the next day with LHP Jason Vargas going down with a season-ending elbow injury.