Nate Karns struck out 10 while pitching into the seventh inning, Eric Hosmer had three hits and the Kansas City Royals busted out of an offensive slump to beat the Tampa Bay Rays 7-3 on Monday night.

Kansas City matched its best run output of the year and set a season high with 13 hits. Drew Butera homered and drove in his first two runs of the season, helping the Royals win for the fourth time in 17 games. Kansas City had scored three or fewer runs in four straight games.

Alcides Escobar, Lorenzo Cain, Salvador Perez and Whit Merrifield each had two hits for Kansas City, and Hosmer also stole two bases.

Karns (2-2) completed 6 1/3 innings, allowing two runs, six hits and two walks.

Blake Snell (0-3) allowed four runs and 10 hits over five innings. He failed to get an out in the sixth inning for the 10th time in his last 11 starts.

Butera led off the third inning with his homer, the first of five straight hits in a three-run inning. Butera drove in another run with a single in the sixth.

Brad Miller singled in Corey Dickerson for the Rays in the first inning, but Karns pitched shutout ball from then until the seventh inning. He struck out three straight following Colby Rasmus' triple in the second, then got a strikeout and a double-play grounder with the bases loaded in the third.

Karns gave up a single to Kevin Kiermaier then plunked Derek Norris with one out in the seventh before being replaced by Matt Strahm, who let Kiermaier score on a wild pitch.

TRAINER'S ROOM

Royals: LHP Ian Kennedy told manager Ned Yost that his strained right hamstring is improving, but no timetable is set on Kennedy's return.

Rays: SS Matt Duffy, coming back from Achilles tendon surgery, will start a minor league rehab assignment Tuesday night with Class A Charlotte. ... C Wilson Ramos, on the 60-day disabled list due to right knee surgery, ran the arc behind the infield dirt. He is also doing limited catching drills.

UP NEXT

Royals: RHP Chris Young, who last pitched in a three-inning relief appearance on May 2, will make his first start of the season Tuesday night against the Rays.

Rays: RHP Matt Andriese (2-1) has gone seven innings in consecutive starts entering his outing Tuesday night against the Royals. Prior to this stretch, he had a streak of 18 straight starts of six innings or fewer.