Daniel Cabrera pitched seven innings of four-hit ball and Jay Gibbons capped a sixth-inning rally with a three-run homer, helping the Baltimore Orioles beat the Cleveland Indians 4-0 on Saturday.
Cabrera (6-7), who had been 0-3 in his last four starts, won for the first time since June 5 at Detroit. He walked two and struck out five, becoming the first Orioles starter to record a victory since Rodrigo Lopez on June 21.
Tim Byrdak pitched the eighth and B.J. Ryan worked the ninth, finishing the Orioles' fifth shutout of the season. The Orioles, who had lost eight of nine, stole a season-high five bases.
Baltimore's Rafael Palmeiro went 0-for-3 and remained eight hits shy of 3,000 for his career. Palmeiro is trying to join Hank Aaron, Willie Mays and Eddie Murray as the only players in major league history with 3,000 hits and 500 home runs.
The Indians lost for just the seventh time in 25 games. Kevin Millwood (3-6) allowed four runs -- three earned -- and three hits over six innings.
Rangers 6, Mariners 5
At Seattle, Gary Matthews homered with two outs in the ninth inning, leading Texas to its fourth straight victory.
The Rangers, who lead the majors with 133 home runs, also got a three-run shot from Michael Young in the second and a solo shot from David Dellucci -- his third homer in three games -- in the fourth.
Adrian Beltre had his first two-homer game since joining the Mariners, but struck out against rookie Kameron Loe (2-1) with the game tied and two men on to end the seventh.
J.J. Putz (1-3), who came in with two outs in the eighth, gave up the home run to Matthews as Seattle matched a season high with its seventh straight loss.
Francisco Cordero pitched the ninth for his 19th save in 23 opportunities.
White Sox 5, Athletics 3
At Oakland, Jon Garland won his major league-leading 13th game and Joe Crede hit a tiebreaking homer in the seventh, helping Chicago snap Oakland's eight-game winning streak.
Garland (13-3), who pitched a complete-game, four-hitter in a 6-0 win over the A's in the Coliseum on April 25, threw fastballs in the mid-90s most of the game and had the A's off-balance and swinging early in the count to win in his second try at 13 victories.
Crede connected for his 12th home run of the season with two outs in the seventh, a solo shot to left-center. He also added an RBI single in the second for Chicago, which owns the best record in the majors at 54-25.
Dustin Hermanson threw seven pitches in the ninth for his 19th save in 20 chances as the White Sox won for the fourth time in five games.
Kirk Saarloos (4-5) was tagged for four runs and seven hits in seven innings and didn't walk a batter for the second straight start.
Twins 4, Devil Rays 1
At Minneapolis, Justin Morneau hit a three-run homer, Kyle Lohse pitched eight strong innings and Minnesota beat Tampa Bay again.
Joe Mauer added an RBI double for Minnesota, which won for the fifth time in six games.
Jorge Cantu drove in a run with a fourth-inning single. The Devil Rays have lost seven of their last eight games overall and seven in a row to the Twins.
Lohse (7-6) gave up just four hits and one walk while striking out six. Joe Nathan worked the ninth for his 22nd save in 24 chances.
Seth McClung (0-4), making his second start since his recall from Triple-A Durham last week, gave up six hits, four runs and three walks in six innings. He struck out eight.