With the game tied 2-2 in the sixth, Neil Walker led off with a single against Braves starter Kris Medlen (1-2) and advanced to third on a pair of outs.
Barmes then came to the plate and grounded a 1-1 pitch up the middle. Shortstop Andrelton Simmons picked it up and made an off-balance throw to first, but it was too late, allowing Walker to score the decisive run.
Barmes finished with a pair of RBI and Russell Martin added two hits, including a run-scoring double, as the Pirates took three wins in their four-game set with the Braves.
Medlen yielded three runs on seven hits over six full frames en route to the loss.
Simmons and Gerald Laird each provided two hits and an RBI for Atlanta.
Wisconsin business offering 'therapeutic cuddling' forced to close
Reindeer recovered after escaping from Santa during lighting ceremony