The White Sox ended the season on an upbeat note after letting the American League Central title slip away to the Detroit Tigers. Chicago had a three-game lead on Sept. 18, but then went 2-10 while the Tigers were pulling away.
Johnson had a two-run homer in the first inning, a two-run blast in the fifth and a solo shot in the ninth. They came in his 14th game of the season.
Gavin Floyd (12-11) allowed three hits over seven innings to get the win.
David Huff (3-1) was torched for seven runs on nine hits in 4 2/3 innings to take the loss. Cleveland wound up 26 games below the .500 mark and finished fourth in the AL Central.