Pedro Martinez got his major league-leading 15th victory and the Boston Red Sox scored four runs in the sixth inning to beat the White Sox, 6-1, last night in Chicago.

Martinez (15-2) went eight innings to tie Roger Clemens's Red Sox record for most wins by the All-Star break. He allowed one run and seven hits, struck out five and walked none to win his fourth straight start.

"When I take the mound, I think I'm unbeatable until the last out," said Martinez, who dropped his league-best earned run average to 2.02.

Boston shortstop Nomar Garciaparra, who extended his hitting streak to 17 games, left with a strained left groin in the sixth inning after going 2 for 2 with a walk.

Jose Offerman staked Martinez to a 2-0 lead with a two-run single in the third. The White Sox made it 2-1 in the fourth on Magglio Ordonez's 18th homer, but Boston, which scored 43 runs against Chicago in a four-game series last weekend at Fenway Park, broke it open in the sixth.

After Jim Parque (8-6) intentionally walked Jason Varitek to load the bases, Brian Daubach hit an RBI single. Damon Buford followed with a two-run single to finish Parque, and Veras hit a sacrifice fly off Bill Simas.

DEVIL RAYS 8, BLUE JAYS 7: Dave Martinez, whose wife underwent a nine-hour operation this week, drove in four runs as Tampa Bay set a team record with its sixth straight road victory.

Jose Canseco, playing on his 35th birthday, hit his 29th home run for Tampa Bay.

Martinez missed the last two road games so he could be with his wife, Lisa, at a hospital in Palm Harbor, Fla. He declined to give details on Wednesday's operation, but said his wife was okay. Martinez hit a two-run double in the third, and his two-run triple in the fifth gave Tampa Bay an 8-1 lead.

ROYALS 9, INDIANS 7: In Cleveland, Carlos Beltran drove in three runs with a double in the 10th inning after Paul Shuey inexplicably walked pinch hitter Jed Hansen with two outs to load the bases, giving Kansas City the victory.

Beltran's double into the right field corner came one pitch after Shuey (5-3) walked Hansen, a .100 hitter, on four pitches. Hansen has three walks in 10 at-bats this season, with all three walks coming against the Indians.

"I guess they're just scared of those .100 hitters," Hansen joked.

Jermaine Dye homered twice for the Royals, whose bullpen blew a 5-3 lead in the eighth and cost starter Jose Rosado a victory. Matt Whisenant (3-3) pitched two innings for the win.

ANGELS 10, ATHLETICS 6: In Oakland, Randy Velarde had four hits and scored on a wild pitch in the eighth inning as Anaheim stopped a three-game losing streak.

Velarde reached base all six times he came to the plate, including once on an error. He singled with one out in the eighth, moved to third on Mo Vaughn's single and scored on a wild pitch by rookie Chad Harville (0-1) for a 7-6 lead. The Angels scored three times in the ninth on an RBI double by Gary DiSarcina, a run-scoring single by Velarde and an RBI groundout by Vaughn.

RANGERS 7, MARINERS 6: Rusty Greer singled home the winning run with one out in the ninth inning as host Texas won its fourth straight.

The Rangers, who overcame a 5-2 deficit and won a game in which the lead changed four times, came back after Seattle scored the tying run in the ninth on Alex Rodriguez's sacrifice fly off John Wetteland (2-2).

TWINS 11, TIGERS 4: Doug Mientkiewicz had three hits and three RBI for host Minnesota. Mientkiewicz drove in runs with a triple in the second, a double in the fifth and a single in the seventh to help the Twins get their fourth victory in six games. The Tigers have lost five of six.

LaTroy Hawkins (5-8) won for the fourth time in five decisions, giving up four runs and six hits in 5 1/3 innings. Jeff Weaver (6-5) lost to Minnesota for the second time this week, allowing seven runs and 10 hits in five innings.