DETROIT (AP) -- Ian Kennedy pitched effectively into the seventh inning to win for the first since June 26 as the Kansas City Royals beat the Detroit Tigers 3-1 on Monday night.
The Tigers lost slugger Miguel Cabrera after four innings to a strained left biceps. Cabrera appeared to injure himself in a first-inning collision with Cheslor Cuthbert at first base, but batted twice before leaving the game.
Detroit said Cabrera is day to day.
Kennedy (7-9) ended an eight-start winless streak, allowing one run on five hits and a walk in 6 2/3 innings. Three relievers finished, with Kelvin Herrera pitching the ninth for his fifth save.
Daniel Norris (1-1) took the loss, allowing two runs -- one earned -- in 5 1/3 innings. He gave up six hits and walked four while striking out one. He also made the error that led to the unearned run.
Paulo Orlando started the game with a four-pitch walk, then went to third when Norris threw away Cuthbert's infield single, leading to the collision with Cabrera as he reached for the ball. With one out, Eric Hosmer hit a line drive to deep left-center, and though Tyler Collins ran it down, Orlando scored easily on the sacrifice fly.
The Royals nearly expanded the lead in the fifth, putting runners on second and third with two outs, but second baseman Ian Kinsler made a diving stop of Kendrys Morales' grounder to end the inning.
Kansas City added to the lead in the sixth. With one out, Alex Gordon doubled and went to third on Norris' wild pitch. After a walk to Alcides Escobar put runners at the corners, Alex Wilson came in to pitch and Raul Mondesi laid down a safety squeeze.
Jarrod Saltalamacchia, who had replaced Cabrera at first base, fielded the bunt cleanly but hesitated before making a play, giving Mondesi an RBI single.
J.D. Martinez made it 2-1 with a solo homer in the seventh -- his second in two days and the 101st of his career. Casey McGehee singled with two outs, bringing Peter Moylan out of the Royals' bullpen.
James McCann hit an infield single, but pinch-hitter Mike Aviles popped out to end the inning.
The Royals added an insurance run in the ninth on Lorenzo Cain's RBI single off Blaine Hardy.
Royals: LHP Jason Vargas, out since July 2015 after Tommy John surgery, will begin a rehab assignment with Double-A Northwest Arkansas this week. Vargas is scheduled to pitch three innings Wednesday, but there is no timeline for a possible return to the majors.
Tigers: RHP Mike Pelfrey, sidelined since Aug. 1 with a back strain, will not be activated from the DL when he becomes eligible on Tuesday. He has only progressed as far as throwing on the side, but he's planning on a tougher workout Friday. Once he can throw off a mound, Pelfrey is expected to make at least one rehab start before returning to the rotation.
The Tigers, already short-handed after Cabrera's injury, lost Collins in the bottom of the eighth when he was ejected by plate umpire Dan Iassogna for arguing a called third strike. Andrew Romine replaced Collins in center field for the ninth inning.
The teams continue their three-game series Tuesday, with aces Danny Duffy (9-1, 2.82 ERA) and Justin Verlander (12-6, 3.42) squaring off. Verlander is 22-8 with a 3.21 ERA in 40 career starts against the Royals, giving him the most wins against Kansas City of any active pitcher.