Frank Thomas foiled a shift with a sacrifice fly in the ninth, and fans were too busy trying to keep warm to cause any trouble last night as the Chicago White Sox beat the visiting Kansas City Royals, 4-3.

One night after a fan ran out of the stands and tried to tackle umpire Laz Diaz, the focus was back on baseball at U.S. Cellular Field.

There was a noticeable increase in security, with 16 guards ringing the field during the half-inning breaks. Guards also stood near both dugouts, and others roamed the stands.

Four announcements warning fans to stay off the field were made during the game, and White Sox first baseman Paul Konerko made a plea before the game asking fans to behave. Major League Baseball officials also were on hand to make sure there were no problems.

But with a game-time temperature of 50 -- 34 degrees colder than Tuesday night -- and a blustery wind making it feel even chillier, there were only about 7,000 fans at the park.

"The White Sox organization is doing everything within their power to make it a safe environment," Kansas City General Manager Allard Baird said before the game. "This is a great baseball city. . . . It's unfortunate because something like this affects a lot of people when it's only a few people causing it."

* RED SOX 6, DEVIL RAYS 4: David Ortiz hit a tying, two-run single, and Jeremy Giambi's RBI double helped Boston rally for four runs in the eighth at Fenway Park.

Manny Ramirez and Nomar Garciaparra homered for Boston, which won its third straight. The Red Sox also scored in their final at-bat Tuesday night to beat Tampa Bay, winning on Shea Hillenbrand's RBI single in the bottom of the ninth.

Rey Ordonez hit a two-run homer, and Rocco Baldelli's seventh-inning RBI single extended his hitting streak to a club rookie record 13 games for the Devil Rays.

"Our objective is to get the guys [who are struggling] swinging the bats good," Boston Manager Grady Little said. "I thought it was big for David. He's had some good at-bats and had some balls going in there."

* BLUE JAYS 7, YANKEES 6: Carlos Delgado hit a three-run homer, and Dave Berg's RBI double broke a sixth-inning tie to help visiting Toronto snap a six-game losing streak.

Toronto starter Cory Lidle (2-2) blew a 5-0 lead in the fifth, but the Blue Jays rallied to beat New York for the first time in six meetings.

David Wells, who pitched a three-hit shutout in his last start and entered with a 0.53 ERA, gave up 11 hits and five runs in five innings.

* ANGELS 9, RANGERS 8: Bengie Molina hit the go-ahead two-run single in a strange seven-run eighth inning in Anaheim, Calif.

* TWINS 4, TIGERS 2: Corey Koskie had three hits and two RBI, and Minnesota beat visiting Detroit for the 14th straight time.

* ATHLETICS 4, MARINERS 1: Tim Hudson outpitched Freddy Garcia again, and visiting Oakland ended a six-game losing streak. Eric Chavez gave Hudson (2-1) all the offense he needed with a two-run home run in the first inning.