Mike Moustakas homered twice, and Salvador Perez, Brandon Moss and Jorge Bonifacio also went deep to lead the Kansas City Royals over the White Sox 7-2 Saturday night, extending Chicago's longest losing streak in two years to eight games.
Melky Cabrera had his second four-hit game in a week and gave the White Sox a 2-0 lead with a home run in the third inning and an RBI double in the fifth.
In a game that began with a 99-degree temperature and 112 heat index, Mike Pelfrey took a two-hitter into the sixth but put leadoff man Lorenzo Cain on with his sixth walk. David Holmberg (1-3) relieved, retired Eric Hosmer on a flyout, then gave up three homers in an eight-pitch span.
Perez's two-run homer tied the score, Moustakas homered two pitches later, Alcides Escobar grounded out and Moss homered for a 4-2 lead, a drive that would have gone 436 feet unimpeded. Whit Merrifield added an RBI single off Juan Minaya.
Bonifacio homered in the seventh, and Moustakas hit his 28th this season leading off the eighth against Brad Goldberg. Kansas City's five homers matched a season high.
Chicago, an AL-worst 38-56, had not lost eight in a row since June 12-19, 2015.
Scott Alexander (2-3) relieved Jason Vargas with two on and no outs in the sixth and got three straight outs. Vargas allowed two runs and seven hits.
Pelfrey is 0-2 in his last six starts.