CLEVELAND -- One-run games are familiar territory to Jake Westbrook. Winning them is something new.
Westbrook came in 0-4 in one-run decisions this year, but finally prevailed as the Indians completed their third straight series sweep and improved to 6-0 on a 12-game homestand. They are 13-2 in interleague play and 20-7 since May 21.
"It's tough to put a streak like this together, but you could sense it coming," said Travis Hafner, who had two hits and drove in a run.
Westbrook won consecutive starts for the first time since September. The right-hander was an All-Star when he went 14-9 in 2004, but has struggled with little run support this year. The Indians have scored only 15 runs in his nine losses.
"You try to pitch the same whether it is close or you have a big lead," Westbrook said. "I try not to think of the score, but it's tough. I'm mentally more into it in a one-run game, just because you have to be."
Westbrook allowed two runs and five hits. He struck out five without a walk.
"His ball was moving all over," Arizona manager Bob Melvin said. "One sinker would move a foot and the next one would move two feet."
Bob Wickman worked the ninth for his AL-leading 20th save in 23 chances.
"Jake probably could have gone to the ninth, but he did more than his job today," Indians manager Eric Wedge said. "He really commanded the game and was outstanding all the way to his last pitch.
"But Wickman was ready and he's getting it done, too."
Shawn Estes (5-5) pitched his second consecutive complete game and the Diamondbacks' second in two days -- both in losses.
"I'm not happy with it," Estes said. "I feel good about what I'm doing, but not happy with how this worked out. We really needed to win and not get swept."
Cleveland took a 2-0 lead in the fourth. Grady Sizemore singled and went to second on a one-out single by Ronnie Belliard. Hafner singled to left-center, scoring Sizemore, and Belliard scored when center fielder Jose Cruz Jr. bobbled the ball for an error.
"The wind was a problem," Cruz said. "The ball was sinking straight down and when it got there, it took a couple strange bounces."
Cruz hit a two-out homer, his ninth, to make it 2-1 in the fifth.
Hafner singled with two outs in the sixth and scored on a double by Victor Martinez for a 3-1 lead.
The Diamondbacks made it 3-2 in the seventh. Luis Gonzalez doubled and scored on a one-out single by Tony Clark. Westbrook got out of further trouble by getting Shawn Green to hit into an inning-ending double play.
Estes got Cleveland to hit into four double plays -- three of them to end innings -- but lost for just the second time in eight starts since May 10. The left-hander gave up two earned runs and nine hits, walking two and striking out four.
- Arizona 3B Troy Glaus went 0-for-3 to snap his 10-game hitting streak
- Cleveland has won its last four one-run games and is 12-16 in them this season.
- Arizona made three errors in the three-game series after making only 37 in its first 66 games.