Cleveland's lead was down to one heading into the seventh but Kipnis hit a three-run shot in that inning to put the Indians in control.
The White Sox cut their deficit in half with one out in the ninth when Adam Dunn hit a two-run homer off Dan Wheeler, resulting in Chris Perez being summoned from the bullpen. Perez walked Paul Konerko but then struck out A.J. Pierzynski and got Alex Rios on a grounder to end the game and collect his ninth save.
Cleveland starter Justin Masterson (1-2) allowed eight hits and walked three but he survived 6 1/3 innings while striking out six to win for the first time in his six starts this year.
John Danks (2-4) was touched for six runs on nine hits in seven innings to take the loss.
Ray Liotta sues skin care company over use of likeness
Boston schools pull out free condoms over wrapping complaints