KANSAS CITY, Mo. (AP) -- Salvador Perez homered and drove in three runs, and the Kansas City Royals beat the Texas Rangers 4-3 on Monday night to snap a three-game losing streak.Perez, who had three hits, went deep in the third with Alex Gordon aboard. His two-out double in the first scored Gordon, who had singled and swiped second.Yordano Ventura allowed three runs, two earned, and five hits in 6 1-3 innings for Kansas City. The right-hander, who was skipped on his previous turn in the rotation due to a sore back, struck out seven and walked four. Kelvin Herrera, Wade Davis and Greg Holland combined for 2 2-3 hitless innings after Ventura departed. Holland struck out two in a perfect ninth, earning his 41st save in 43 chances.Colby Lewis (9-12) pitched seven innings for Texas, yielding four runs and nine hits. The right-hander had thrown a complete game in winning each of his previous two road starts.Carlos Peguero, who was just brought up from Triple-A Omaha, doubled in the fifth and scored on Mike Moustakas' single to give the Royals a 4-0 advantage.Texas responded with a run in the sixth on Adrian Beltre's groundout. Tomas Telis and Michael Choice each had an RBI single in the seventh, cutting the Royals' lead to one run.