Carlton Fisk and Luis Salazar hit two-run homers and Rudy Law and Harold Baines homered with the bases empty against Boston before 40,087 at Chicago's home opener.
"Some clubs you swing good against and some clubs you don't," said Fisk, who played for the Red Sox in 1969-80. When he came to the White Sox in 1981, he hit a three-run homer in the eighth inning of the season opener to defeat the Red Sox. Since then, he has 15 homers against them.
After one inning, Chicago's Britt Burns (2-0) had a 3-0 lead, thanks to the homers by Fisk and Law. In pitching his first complete game since last May, Burns held the Red Sox to six hits, walking one and striking out seven.
Boston's designated hitter, Mike Easler, and his manager, John McNamara, were ejected from the game; Easler for throwing his bat after striking out and McNamara for arguing that umpire Darryl Cousins had misinterpreted a rule.
"He said it's an automatic ejection," McNamara said. "He's wrong. He swung at the third strike. He wasn't arguing and he wasn't showing up the umpire."
The game included brushback pitches, with Easler and Tony Armas of the Red Sox going down and Salazar hitting the deck on a pitch from Mike Trujillo (0-1).
Trujillo flattened Salazar on a 0-1 pitch in the fourth after Daryl Boston had doubled with two out. On the next pitch, Salazar homered to left field for a 5-0 lead.
"It was a dangerous pitch but I don't think they were throwing at me," he said. "I just stood up, got in the box and hit a hanging slider for a home run."
Burns lost his shutout in the fifth when Bill Buckner led off with his second homer. In the White Sox half of the inning. Greg Walker had a two-run triple off reliever Steve Crawford.