Martinez scored in the 39th and 76th minutes as he doubled his season output to four goals. The forward set an MLS single-season mark with 31 last year.
Barco tallied in the 47th minute, and Brad Guzan made three saves while recording his second straight shutout and third of the season. Atlanta United (3-3-2, 11 points) have won three of their past four games following a four-game winless streak to open the season.
The defending MLS champions entered the contest with an MLS-low six goals. The Five Stripes led the league with 70 last year.
Sporting KC (2-3-4, 10 points) are winless in their last five contests (0-2-3).
Atlanta United outshot Sporting KC 19-10. The Five Stripes had an 8-3 edge in shots on target.
The game was scoreless until the 39th minute when Martinez tallied on a rebound.
Barco delivered a right-footed blast from outside the box that Sporting KC's Tim Melia blocked. Martinez was in free for the rebound and sent a left-footed shot past Melia just before the goalkeeper crashed into him.
Sporting KC had two great scoring changes late in the first half.
A right-footed blast by midfielder Kelyn Rowe in the 44th minute appeared en route to the net, but it struck the face of Atlanta defender Miles Robinson. Two minutes later, forward Krisztian Nemeth sent a right-footed shot just over the top of the net.
Atlanta United wasted little time padding their lead in the second half. In the second minute, the ball came Barco's way at the top of the box, and the midfielder sent a left-footer through traffic and past Melia into the lower left corner of the net.
Guzan wasn't called on to make a save until the 66th minute, when he easily grabbed a header by Sporting KC defender Botond Barath.
Martinez put the game away 10 minutes later when he received a pass from Barco just inside the box. He struck a right-footed boot over Melia's reach to make it 3-0.
Melia made five saves for Sporting KC, who have allowed 11 goals in their past three matches, as defender Matt Besler has battled a hamstring injury.