Elise Amendola, Associated Press
Baltimore Orioles' Aubrey Huff fhis a two-run single off of Red Sox pitcher Hideki Okajima on Tuesday.

BOSTON — Aubrey Huff matched his career high with four hits, including a game-tying two-run single, and the Baltimore Orioles came from behind twice to hand the Boston Red Sox a rare home loss, 10-6 on Tuesday night.

Baltimore rebounded from deficits of 1-0 and 6-4 and overcame homers by Manny Ramirez and J.D. Drew as the Red Sox lost for only the second time in their last 17 games at Fenway Park.

On a steamy night with a game-time temperature of 93 degrees, the Orioles scored in just three innings with four runs in the second, three in the seventh and three in the ninth. They've scored 29 runs in their last four games.

Huff's two-run single tied the game at 6 in the seventh and chased Hideki Okajima (1-2). Kevin Millar then hit a sacrifice fly off Manny Delcarmen.

Okajima has allowed eight earned runs in 5 1/3 innings against Baltimore, an ERA of 13.50. In his other games, he's given up just one run in 22 2/3 innings, an ERA of 0.40.

American League

ANGELS 6, RAYS 1: At Anaheim, Garret Anderson and Vladimir Guerrero each hit two-run home runs to help Los Angeles beat Tampa Bay. Anderson helped Los Angeles jump on Tampa Bay as the Angels scored four runs in the first inning. Guerrero added a two-run shot in the fifth as the Angels picked up their first win against Tampa Bay this season.

YANKEES 3, ATHLETICS 1: At Oakland, Chien-Ming Wang ended the worst stretch of his career with his first win in seven starts, taking advantage of an early lead and an insurance run on Melky Cabrera's homer in the ninth inning of New York's win over Oakland.

RANGERS 6, ROYALS 5: At Kansas City, Ian Kinsler scored the go-ahead run on a passed ball in the ninth inning and the Texas Rangers used five unearned runs to rally from four down to beat Kansas City. Kinsler led off the ninth with a double against Yasuhiko Yabuta (1-1), the fourth of five Royals pitchers. He advanced on a groundout and scored from third when Ramon Ramirez's pitch got away from catcher John Buck.

TIGERS 6, WHITE SOX 4: At Detroit, Miguel Cabrera's go-ahead two-run single in the fifth inning helped the Detroit Tigers snap the Chicago White Sox's seven-game winning streak. Nate Robertson (4-6) allowed three runs and eight hits in 6 1-3 innings for the win. Todd Jones pitched a scoreless ninth for his 11th save in as many chances.

BLUE JAYS 3, MARINERS 1: At Toronto, Dustin McGowan pitched his third career complete game, and Vernon Wells and Brad Wilkerson each homered to lead Toronto past Seattle. McGowan (5-4) retired the final 10 batters as the Blue Jays needed just 2 hours, 2 minutes.

INDIANS 1, TWINS 0: At Cleveland, C.C. Sabathia pitched a five-hitter for his seventh career shutout as the Cleveland Indians defeated Minnesota, extending the Twins' season-high losing streak to six games. Sabathia (4-8) didn't allow a baserunner after the fourth inning, striking out four without a walk in his second shutout of the season. The 2007 AL Cy Young Award winner blanked Oakland 2-0 on May 14 — but had been 0-3 in four starts since.

National League

MARLINS 5, PHILLIES 4: At Miami, Hanley Ramirez led off the game with one of Florida's three home runs off Philadelphia starter Brett Myers. Jorge Cantu hit a two-run homer in the first and Mike Jacobs added a two-run shot in the fifth for the Marlins, who closed within three games of the Phillies' lead atop the division and handed Philadelphia just its fifth loss in 20 games.

CARDINALS 7, REDS 2: At Cincinnati, Ryan Ludwick homered and drove in four runs to lead the Cardinals over the Reds. Albert Pujols and Rick Ankiel gave the Cardinals their first set of back-to-back home runs this season before Pujols was helped off the field in the top of the seventh inning with a strained left calf he suffered while running out a ground ball. Pujols will be reevaluated on Wednesday.

NATIONALS 7, PIRATES 6: At Pittsburgh, Ronnie Belliard hit two homers and Lasting Milledge's two-run shot with two outs in the ninth lifted the Nationals to a wild win over the Pirates. Belliard added an RBI single during his first game back from the disabled list and Dimitri Young and Jesus Flores also homered for the Nationals, who had lost four in a row and eight of nine.

DIAMONDBACKS 9, METS 5: At New York, Chris Snyder hit a tiebreaking homer in the eighth inning off Joe Smith, and Arizona sent the New York Mets to their fifth straight loss.

ROCKIES 10, GIANTS 5: At Denver, Aaron Cook threw seven efficient innings, Todd Helton hit a three-run homer and Colorado ended San Francisco's seven-game road winning streak. Cook (9-3) had his sinker working, getting nine groundball outs while scattered nine hits and giving up three earned runs.

ASTROS 6, BREWERS 1: At Houston, Lance Berkman homered and hit a three-run triple, and Roy Oswalt pitched seven solid innings for his first win in almost a month to lead Houston past Milwaukee.

DODGERS 7, PADRES 2: At San Diego, Russell Martin drove in three runs, including two with a go-ahead single in the seventh, to lead Los Angeles past San Diego.

CUBS 10, BRAVES 5: At Chicago, Ted Lilly settled down after a shaky start to get his first win in three weeks and Derrek Lee and Geovany Soto homered Tuesday night as the Chicago Cubs continued their dominant play at Wrigley Field. Braves' starter Tom Glavine, who got his 300th win last Aug. 5 at Wrigley while pitching for the Mets, had to leave after three innings with a left elbow strain.