Westbrook struck out the side in the first and extended his scoreless streak to 14 innings over four spring starts. The right-hander has yet to yield a run, allowing only five hits while striking out 16.
"I don't think the '27 Yankees could have hit that guy today," Braves manager Bobby Cox said. "That's as good as you can get, and he had all of his pitches, all of them."
Westbrook, who had a sore right arm early in camp, said he feels as strong as he ever has with one week to go before opening day.
"I'm glad they sat me down a couple days early," Westbrook said. "I feel real strong and confident with all my pitches."
Westbrook was so efficient, throwing only 65 pitches, that he went to the bullpen to throw 30 more, joking that he walked one there to ruin his perfect game.
"I'd like to string nine like that sometime in the regular season or playoffs, but it's so darn tough," he said. "Casey (Blake) was yelling, 'Send him back out there.' "
Indians manager Eric Wedge took no chances with Westbrook.
The 30-year-old missed seven weeks early last season with an oblique strain and finished with only a 6-9 record after amassing 44 wins over the previous three years.
"Jake was real good," Wedge said. "The thing about him is he's so consistent. I'd like to see him go the whole season for us."
Chipper Jones got Atlanta's first hit, a two-out double in the seventh off Jorge Julio.
Braves starter Buddy Carlyle gave up one run over four innings. But left-hander Jeff Ridgway probably pitched his way back to Triple-A.
Ridgway's poor outing, which lasted one inning, included his own two-run throwing error, a balk, two walks, four hits and six runs allowed.
"He had a rough day," Cox said.