BALTIMORE -- C.C. Sabathia was simply too good for a depleted Baltimore lineup pressing to break out of an extended funk.
Sabathia and two relievers combined on a three-hitter, and the Cleveland Indians used a three-run sixth to beat the Orioles 3-1 Friday night.
Travis Hafner had two hits and scored a run for the Indians, who have won six of seven overall and 10 of their last 12 road games. The victory put Cleveland at a season-high eight games over .500 (43-35).
Sabathia (6-4) allowed one run, three hits and five walks in 7 2/3 innings. He struck out seven, matching his season high, and twice reached 100 mph on the stadium radar gun.
"I thought it was as good as he's been all year," Cleveland manager Eric Wedge said. "His rhythm and tempo were great."
It was the first time in four starts since June 10 that the left-hander went more than five innings; he was 0-1 with an 11.77 ERA during that span.
"I don't want to say I needed the game, but I wanted to show that I'm back," said Sabathia, who started the season on the disabled list with a strained muscle in his right side. "I really want to win. I really want to help this team do well."
Sabathia was pulled in the eighth after issuing his second walk of the inning.
Bob Howry got the last out in the eighth, and Bob Wickman worked the ninth for his 22nd save.
Chris Gomez drove in the lone run for the Orioles, who have lost eight of nine to fall seven games over .500 (43-36) for the first time since April 26.
Baltimore's Rafael Palmeiro went 0-for-3 with a walk and remained eight hits short of becoming the fourth player in major league history with 3,000 hits and 500 home runs. It was the first time in 13 games he failed to get at least one hit.
Teammate Sammy Sosa went 0-for-3 with two strikeouts and a walk. He is 1-for-30 in his last eight games and 3-for-42 in his last 11.
There was a smattering of jeers among the crowd at Camden Yards after each of Sosa's strikeouts.
"I think it's just eating him up that he's not living up to what he believes he can do," said Orioles manager Lee Mazzilli, who is considering giving the slumping slugger a day off this weekend.
Playing without injured starters Javy Lopez, Melvin Mora and B.J. Surhoff, the Orioles have not scored more than five runs in their last nine games.
"I think it's just natural when you're not scoring runs to want to do more, and sometimes you get into situations where you try too hard," Mazzilli said.
The Indians got only one runner past second base until the sixth, when they took a 3-1 lead against Rodrigo Lopez (7-4). A single by Hafner, a walk to Ben Broussard and an infield hit by Ronnie Belliard loaded the bases for Aaron Boone, who hit a fly ball to center that scored Hafner and sent Broussard to third. Jody Gerut followed with a sacrifice fly and Josh Bard doubled in a run.
Lopez gave up three runs and nine hits in seven innings. It was his second consecutive loss after a string of five straight victories.
He pitched well, but Sabathia was better.
"The guy threw a good game," said Baltimore's Larry Bigbie, who went 0-for-2 with a walk. "Any time you can throw 97 or 100 mph and not walk a lot of guys, it's going to be tough to get at a guy like that."
In the second inning, Boone hit a leadoff double but was stranded. In the bottom half, the Orioles used successive two-out doubles by Eli Marerro and Gomez to take a 1-0 lead.
Cleveland RF Casey Blake was a late scratch from the starting lineup with a neck strain. He was replaced by Gerut. ... The last Baltimore starter to get a win was Lopez, on June 21. ... The Orioles optioned RHP Hayden Penn to Double-A Bowie before the game.