The Boston Red Sox made most of the fielding mistakes, but the Texas Rangers made the costliest one last night.

Catcher Ivan Rodriguez's seventh-inning throwing error led to the winning run, and Nomar Garciaparra went 4 for 4 as Boston beat the Rangers, 5-4, for its third straight win.

Garciaparra had two doubles, two singles and a stolen base, giving him a .382 career average against Texas.

Texas lost for the eighth time in its last 10 games against Boston and has just three wins in its last 10 games overall. The Rangers have not topped four runs in nine games.

With the score tied at 4, Jose Offerman walked with one out in the seventh, stole second and continued to third when Rodriguez's throw bounced into center field for his third error this season. Offerman scored on John Valentin's single off Rick Helling (6-7).

John Wasdin (7-0) allowed two hits in two innings, and Tim Wakefield got three outs for his sixth save in six chances.

The Red Sox, who committed two errors, gave up three unearned runs in the sixth when the Rangers went ahead 4-2. But Troy O'Leary's two-run homer in the bottom half tied the score after Garciaparra singled.

Boston had taken a 2-0 lead in the second on doubles by Garciaparra and O'Leary and a sacrifice fly by Trot Nixon.

Texas got a run in the fifth on Todd Zeile's RBI groundout after an error by Nixon in right advanced Rafael Palmeiro following a double.

Two more Boston fielding mistakes led to the three runs in the sixth off Rose.

DEVIL RAYS 3, TWINS 2: Ryan Rupe allowed just four hits in seven innings and Jose Canseco singled in the go-ahead run as Tampa Bay won in Minnesota for its third straight victory.

Rupe (3-3) allowed two runs -- one earned -- before turning it over to the bullpen. Three of the hits off him were by Chad Allen, his roommate for three years at Texas A&M.

"I faced him in fall practice, so I'm used to his delivery," Allen said. "He's a great competitor. Once I got my third hit, he got a little mad."

With the Twins leading 2-1 in the seventh, Paul Sorrento doubled off Gary Rath and, one out later, pinch runner Dave Martinez took third as David Lamb reached on an error by Rob Radlosky (0-1), who picked up a comebacker and threw to second with no one covering the bag.

Martinez was thrown out at the plate when center fielder Jacque Jones picked up the ball and threw it to shortstop Cristian Guzman, who made the relay.

Randy Winn doubled home the tying run, Miguel Cairo was hit by a pitch and Canseco singled off Dan Perkins for a 3-2 lead.

BLUE JAYS 11, ROYALS 4: Tony Fernandez raised his major league-leading average to .414, and Shawn Green homered twice and tied a career high with five RBI to lead Toronto over visiting Kansas City.

Toronto, which won for the seventh time in eight games, took a 5-2 lead with five runs in the third. Homer Bush hit his first home run of the season, Green connected for a three-run shot off Chris Fussell (0-4) and Fernandez added a solo homer, his fifth.

Fernandez, who has an 11-game hitting streak, went 2 for 3 with two walks and has 23 hits in his last 40 at-bats (.575).

Green added a two-run homer in the sixth off Tim Byrdak, his 17th of the season. He had been hitting just .235 (8 for 34) since returning June 11 from a broken bone in his left wrist.

Shannon Stewart was 4 for 5 with three steals as Toronto finished 3-1 in the series. The Royals have lost eight of nine.

INDIANS 4, MARINERS 3: Jim Thome scored from third on Jose Mesa's wild pitch with one out in the 12th inning to give host Cleveland its ninth win in 10 games.

Thome opened the 12th with a hard shot up the middle that second baseman David Bell could only knock down. Alex Ramirez then sacrificed. Roberto Alomar was walked intentionally and Enrique Wilson singled to left as Thome stopped at third. Chris Turner fouled off the first pitch before the second one from Seattle's Mesa (0-2) went inside and bounced to the screen.

"There was probably 30 people in the stadium tonight who wanted me up in that situation," said Turner, still looking for his major league RBI since 1997. "And they were all wearing Seattle uniforms."

Steve Karsay (7-1) pitched two innings to win. He is unbeaten since losing the season opener on April 6.

TIGERS 13, ATHLETICS 11: Tony Clark hit a three-run homer in the eighth inning as Detroit rallied after wasting a six-run lead and beat visiting Oakland. Dean Palmer also homered for the Tigers, who led 9-3 in the third but fell behind 10-9 in the fifth.

Jason Giambi homered twice for Oakland, and Eric Chavez also connected for the Athletics.

Doug Brocail (2-2) pitched a scoreless eighth and Todd Jones finished for his 11th save, allowing Giambi's 14th homer. Detroit gained a split of the four-game series with its second win in seven games.

With Oakland ahead 10-9 in the eighth, Brad Ausmus reached on a two-out infield hit -- the Tigers' first hit since a six-run third. Juan Encarnacion's double off Brad Rigby (3-2) scored the tying run, Doug Jones walked Palmer and Clark homered into the right field upper deck for 13-10.

CAPTION: Red Sox first baseman Mike Stanley applies tag to the Rangers' Ivan Rodriguez, who was picked off by pitcher Brian Rose in the first inning.