ATLANTA -- Chris Johnson watched the winning run slide across the plate, then braced himself for the celebration.
This time, he was in the middle of it.
Johnson singled with two outs in the ninth inning for his first career walk-off hit and the Atlanta Braves won again at home, beating the Cleveland Indians 3-2 on Wednesday night.
Jordan Schafer drove in Atlanta's first two runs. He scored the winner after reaching on an infield single and stealing his second base of the night. Freddie Freeman was intentionally walked before Johnson lined a 2-2 pitch to left off Joe Smith (5-2).
"Any time somebody gets walked intentionally in front of you, you want to come up big," Johnson said.
He fouled off several pitches before getting one he liked.
"When I get down to two strikes, I try to grind it out as best as possible, just stay on the ball, put something hard in play," Johnson said.
Mike Aviles homered and drove in both Cleveland runs, but the Indians dropped four games back in the wild-card race.
Craig Kimbrel (3-2) earned the win with a perfect ninth.
Justin Masterson pitched five-hit ball over six innings, yet was moaning about a crucial mistake in the second.
After Brian McCann led off with a single, Andrelton Simmons lined a two-out double into the left-field corner. Even though McCann was running on contact, the slow-moving catcher had no chance of coming all the way around to score on a ball that ricocheted off the wall, right to outfielder Michael Brantley.
Masterson was still in good shape, with light-hitting pitcher Paul Maholm coming up. He was batting just .133 and had not walked all season. But his Cleveland counterpart left four pitches outside the strike zone -- and paid dearly for it.
"Don't let Joe fool you over there," Masterson said. "I'm the reason we lost the game tonight."
Schafer, who took over the leadoff spot when Jason Heyward went out with a broken jaw, came up next and ripped a single that brought home Atlanta's first two runs.
"He's playing the game hard," Johnson said of Schafer. "He's stealing bags. He's doing a tremendous job. It all starts at the top."
Aviles just cleared the left-field wall with his eighth homer of the season in the fourth, snapping Cleveland's 12 2/3 inning scoreless streak in Atlanta. The Braves won the opener of the series 2-0.
Aviles tied it up in the eighth with a sacrifice fly, but Asdrubal Cabrera got caught in a rundown to end the inning, costing the Indians a chance to go ahead.
"We had opportunities. We need to capitalize on them," Aviles said. "When our ace goes out and gives us strong innings, we've got to find a way to get a W."
Maholm gave up six hits and one run in six innings, but the bullpen couldn't hold his 10th win of the season.
The Indians, seeking their first playoff berth since 2007, are off to a rough start in one of the most important stretches of the season.
After wrapping up their three-game series with the Braves, they move on to play three games in Detroit against the AL Central-leading Tigers before returning home to face Baltimore, another playoff contender.
"We're getting good pitching, and because of that we're staying in games and we're giving ourselves a chance," manager Terry Francona said.
"But we're not hitting a bunch. It becomes more glaring when you don't get in runners in scoring position with two outs, which we haven't done."
Copyright 2013 Associated Press. All Rights Reserved.