Baltimore's Rafael Palmeiro remained eight hits shy of 3,000 for his career.
BALTIMORE (AP) -- A new windup helped Daniel Cabrera deliver a victory for the slumping Baltimore Orioles.
Cabrera pitched seven innings of four-hit ball and Jay Gibbons capped a sixth-inning rally with a three-run homer, helping the Orioles beat the Cleveland Indians 4-0 on Saturday.
Orioles manager Lee Mazzilli said pitching coach Ray Miller instituted a new windup for Cabrera before his last start June 27 against the New York Yankees, then worked with the 6-foot-7 right-hander on the improved delivery twice between starts.
"It hides the ball a little more," Mazzilli said. "It seemed like he was flying out and the ball was never catching up to his body."
The new mechanics helped Cabrera (6-7), who had been 0-3 in his last four starts, win 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.
"I feel better. I feel I better control my pitches," Cabrera said. "I feel more strong."
Tim Byrdak pitched the eighth and B.J. Ryan worked the ninth, finishing the Orioles' fifth shutout of the season.
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.
The Orioles, who had lost eight of nine, stole a season-high five bases. In their previous 55 games, they had only 16 steals.
"We just didn't do a very good job of controlling the running game and that's just something that kind of dominoed on us today," Indians manager Eric Wedge.
Miguel Tejada's baserunning helped ignite a four-run rally against Kevin Millwood (3-6).
Tejada drew a one-out walk and stole second with Palmeiro batting. When Palmeiro walked on a 3-2 pitch, Tejada swiped third, then came home when second baseman Ronnie Belliard mishandled Eli Marrero's grounder for a run-scoring error.
"He's not a guy who gets on and runs all the time," Mazzilli said of Tejada. "But he's a guy who tries to do something to pick the team up."
Gibbons followed by hitting his first pitch from Millwood over the center-field fence for a three-run shot -- the Orioles' only hit of the inning -- and a 4-0 lead.
"As well as Daniel pitched, it would have been a crime not to get the 'W' today," Gibbons said.
Millwood, who had won two of three June decisions, allowed four runs -- three earned -- and three hits in six innings. He walked five and struck out three.
"I really didn't feel like I pitched all that well the whole game." Millwood said. "I walked like five guys, and when you walk that many people against an offense like these guys have, you're going to have a hard time winning."
Notes: C Victor Martinez singled in the first, extending his hitting streak to 13 games, the longest by an Indians player this season. ... Cleveland 3B Casey Blake, who was scratched from Friday's lineup with a stiff neck, started Saturday but left in the second inning with the same injury. He was replaced by Aaron Boone.
Szmore cf4000BRbrts 2b4010
Blake 3b1000Bigbie lf3000
Boone 3b3000Tejada ss3110
Hafner dh4010RPlmo 1b3100
VMrtnz c4010Mrrero rf4101
Blliard 2b4010Gbbons dh4113
Brssrd 1b3010Gomez 3b4000
JHrndz ph1000Newhn cf1000
Crisp lf3000Matos cf0000
Gerut rf2000GGil c3010
E--Belliard (7), BRyan (1). LOB--Cleveland 7, Baltimore 6. 3B--Cora (2). HR--Gibbons (11). SB--BRoberts 2 (18), Tejada 2 (3), Newhan (5).
Umpires--Home, John Hirschbeck; First, Kerwin Danley; Second, Jim Reynolds; Third, Wally Bell. T--2:50. A--38,059.