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.
Rangers: LHP Derek Holland will make his first start of the season after having knee surgery on Jan. 10. He went 2-1 with a 4.43 ERA in six rehab starts in the minors
Royals: RHP Jeremy Guthrie (10-10) goes for Kansas City. Guthrie is 2-0 with a 4.29 ERA in his last three starts.
Rangers: RHP Miles Mikolas, who was skipped his previous start with shoulder fatigue, has not progressed and may not pitch Thursday in his next scheduled start.
Royals: DH Josh Willingham has not played since Friday because of a bad back. He will try to swing the bat Tuesday.