ATLANTA -- On a night of missed opportunities for the Marlins, none was more glaring than Reed Johnson's baserunning blunder in the top of the ninth.
Johnson mistook Derek Dietrich's ninth-inning double as a potential flyout and retreated to second base to tag up, holding up Adeiny Hechavarria at first. The ball sailed over Justin Upton's head in left-center field, deep enough to score both runners.
"I feel terrible," Johnson said. "I mean, that's the game right there."
Not scoring that extra run in the ninth proved costly when Arquimedes Caminero surrendered a walk-off, two-run homer to Evan Gattis in the bottom of the 10th as the Braves defeated the Marlins, 4-2, in front of 16,055 fans at Turner Field.
Miami finished 1-for-14 with runners in scoring position and wasted a fourth straight quality start by Tom Koehler in the loss, which is the club's seventh straight defeat on the road to begin this season, building on a franchise record.
"If we're going to win games on the road, we've got to take advantage of opportunities," Marlins manager Mike Redmond said. "We weren't able to do that today and that's too bad because we really should've won that game."
Koehler added: "Every loss is a tough loss. That's a game we definitely would've liked to have, especially against a division rival."
With Hechavarria on first, Johnson on second and Miami trailing, 2-1, Dietrich hit a 3-2 fastball from Craig Kimbrel off the base of the wall in left-center field. Redmond believes that if Johnson had got a good jump, both runners would have scored.
"I don't know, I couldn't tell, and I don't know what he saw," Redmond said. "Sometimes, it's one thing for me. I'm in the dugout, but I don't know what he saw out there."
Johnson knew the outfield was playing deep. He misread the ball, which was hit directly over his head, and he was concerned with tagging up and advancing.
"If I had to do it over again, obviously I'd just take off in that situation," Johnson said. "And Hech probably maybe gets sent right there. Maybe he doesn't. I don't know. I didn't see him. I didn't even know where he was."
Still, the Marlins had runners on second and third with nobody out. Kimbrel, however, prevented further damage by striking out the side to end the threat.
"I was glad I was able to work out of it," Kimbrel said.
Miami entered Monday in the top five in the Majors in batting average with runners in scoring position. In addition to recording just one hit in 14 tries in those situations, the Marlins stranded 26 runners in all.
The Fish put men on base in every inning except the fourth, sixth and seventh. Two of those hits came from Christian Yelich, who extended his hitting streak to a career-best 15 games.
"We had bases loaded with one out, we had second and third with nobody out and the infield in," Redmond said. "Couldn't get a run across."
Miami's inability to score nearly saddled Koehler with a hard-luck loss. Facing Braves ace Julio Teheran, Koehler certainly played the part of ace himself. He gave up two runs on five hits in 6 1/3 innings against a red-hot Atlanta lineup.
"He gave us exactly what we needed," Redmond said. "We needed a good start, and he gave it to us. … It was a great effort for him, and we weren't able to get him the win. He deserved it."
Koehler navigated the first six innings with little trouble, and his 2.13 ERA ranks as the best among Marlins starters. After receiving an average of five runs of support in his first three starts, Miami plated just one run in support of Koehler on Monday.
Garrett Jones supplied the lone run to back Koehler, launching a solo home run to right field in the top of the second. His third home run of the season made Jones the fourth Marlin to achieve double-digit RBIs this month. Justin Ruggiano was the only Marlin to drive in 10 runs in April of last year.
Jones' homer was enough for Koehler until the bottom of the fifth, when Andrelton Simmons hit a 1-0 curveball into the left-field seats, tying the game, 1-1.
Koehler wanted the execution of the pitch back, rather than the curveball itself.
"I made a mistake on a breaking ball," Koehler said. "He's a good hitter. He did what you're supposed to do on bad pitches."
Prior to the homer, a single by Gattis in the second was the only hit Koehler had surrendered in a 10-inning stretch that began following a single by Anthony Rendon in Koehler's start against the Nationals on April 15 at Marlins Park.
But Teheran matched Koehler pitch for pitch, giving up just one run and striking out eight in seven innings, working out of multiple jams along the way.
"I don't really focus much on what the other guy is doing," Koehler said. "I just wanted to give up less runs than he did, so it was really just one of those situations where you want to keep the team in it for as long as you can."
Joe Morgan is an associate reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.