KANSAS CITY, Mo. -- Texas right fielder Shin-Soo Choo lost Lorenzo Cain's routine fly in the sun, and the ball glanced off his glove for an RBI single with two outs in the ninth inning that lifted the Kansas City Royals over the Texas Rangers 4-3 Sunday.
Choo tried to shield his eyes, but even sunglasses didn't help on Cain's sliced flyball. The Royals snapped a five-game losing streak, and also ended a 12-game skid against the Rangers.
Kelvin Herrera (2-2) pitched a spotless ninth. Jason Grilli (2-5), acquired by Rangers from Toronto on July 2, took the loss.
Alcides Escobar led off the ninth with a single and Alex Gordon walked on four pitches. With one out, Grilli hit Whit Merrifield with a pitch to load the bases. After Jorge Bonifacio struck out, Cain delivered the game-winning hit, with some luck.
Rangers right-hander Yu Darvish, who is 0-4 in his past six starts, allowed three runs in 6 2/3 innings. He gave up eight hits, walked one and struck out one.
Darvish's wild pitch in the first allowed Merrifield to score. Mike Moustakas' two-out double in the third scored Eric Hosmer, who had walked.
Royals starter Ian Kennedy yielded solo home runs to Drew Robinson in the third and Mike Napoli in the seventh.
Kennedy left after 6 2/3 innings and the score tied at 2.
Kennedy, who is winless in his past 12 home starts, gave up two runs on five hits. After throwing 25 pitches in the first inning, he navigated his way into the seventh on 74 more pitches.
The Royals took a 3-2 lead in the seventh when Drew Butera, who had singled, scored an unearned run. Merrifield doubled and Butera came home when left fielder Nomar Mazara misplayed the ball.
Joakim Soria could not hold the lead in the eighth. Mazara's two-out single scored Elvis Andrus, who had doubled.
DARVISH PASSES RYAN
Yu Darvish moved past Hall of Famer Nolan Ryan and into fourth place on the Rangers' career strikeout list. When Darvish fanned out Brandon Moss in the fourth inning it was his 940th strikeout in his 120th start. Ryan, baseball's all-time strikeout king, fanned 939 in 129 starts with Texas.
Rangers slugger Joey Gallo, who has seven strikeouts in seven at-bats against Kennedy, was not in the lineup.
Rangers: RHP Keone Kela (shoulder soreness) threw a bullpen Saturday with no problems. The Rangers are unsure whether Kela needs another mound session or activate him Monday in Baltimore.
Rangers: RHP Andrew Cashner will start Monday at Baltimore in the opener of a four-game series. RHP Chris Tillman will be the Orioles starter.