Willie Upshaw hit a two-run homer as part of a three-run rally that broke a ninth-inning tie as the Toronto Blue Jays defeated the White Sox, 7-5, last night in Chicago.

It was Toronto's eighth victory in nine games since the All-Star break. The Blue Jays opened a three-game lead in the American League East.

Barry Bonnell drew a leadoff walk in the ninth from Juan Agosto (1-1) and moved to second on a ground out. Jesse Barfield singled home Bonnell and Upshaw followed with a drive into the upper deck in right field.

"We were really fired up, with all the tension in this game, the frustration over them tying it up like that--I guess that just came out of me in the ninth," said Upshaw, who is having his best season with 18 homers, 57 RBI and a .304 average.

Joey McLaughlin (3-2), the third of four Toronto pitchers, earned his second victory in as many nights. Randy Moffitt pitched the ninth, allowing Julio Cruz's sacrifice fly, for his ninth save.

The White Sox made it 4-4 with two runs during an argument-filled eighth inning. Rudy Law drew a walk from reliever Roy Lee Jackson and stole second. Cruz singled and Greg Walker greeted McLaughlin with an RBI single.

One out later, the Blue Jays thought Harold Baines had struck out when he checked his swing on a 1-2 pitch. But the pitch was called a ball, and third baseman Rance Mulliniks and Toronto Manager Bobby Cox were ejected for protesting. Chicago Manager Tony LaRussa was then ejected when he complained that McLaughlin also should have also been thrown out. Baines followed with a sacrifice fly to tie the game.