Jason Kipnis had three RBI while Cleveland was building a seven-run lead Friday and the Indians held on to defeat Kansas City 8-5.

Cleveland won its third straight, producing eight runs over the first five innings and finishing with 16 hits.

Shin-Soo Choo had an RBI double in both the second and fourth innings for Cleveland and Kipnis drove in Choo in the fourth with a fielder’s choice grounder. Kipnis then singled in two more runs in the sixth.

Kansas City battled back on Billy Butler’s two-run homer in the sixth and a two-run base hit from Salvador Perez in the eighth.

Chris Perez ended the Royals’ comeback hopes by working a perfect ninth for his 39th save. The victory went to starter David Huff (3-0), who gave up three runs on eight hits with five strikeouts in six innings.

Will Smith (6-9) was roughed up for six runs on nine hits in three innings to take the loss.