Fernando Torres was introduced at the break as Atletico boss Simeone looked for more cutting-edge in the final third, and the Spaniard set up a shooting chance for Saul in the 50th minute, only for Alba to block the ball behind as the hosts played with more purpose.
Torres's introduction was key in Atletico's improvement as the hosts continued to force the issue in the early stages of the second period, but Barcelona remained a constant threat on the counter-attack.
Gaitan was Atletico's second change from the bench just before the hour and less than 60 seconds after the Argentine's introduction, the hosts found the back of the net as Griezmann headed home from close range after Godin had nodded back across goal.
Atletico then should have levelled in the 63rd minute with Luis found Griezmann inside the Barcelona box, but Cillessen made an outstanding point-blank save, before Griezmann missed the post with a low strike moments later.
Gameiro was Simeone's third and final change of the contest as the home side looked for an equaliser, but it was Barcelona that almost scored the game's fourth goal – Messi bringing a fine save from Moya 15 minutes from time after bending a free kick towards the top corner.
Gameiro might have levelled in the 81st minute after a chipped pass from Griezmann found the striker in space, but his volley was wide of the post, before Torres turned a Luis cross wide less than 60 seconds later.
Atletico continued to force the issue and Torres had another golden chance in the 86th minute, but the Spaniard missed the post as Simeone continued to act as cheerleader for his team. Griezmann was next to come close for the hosts during a lively finish to events at the Vicente Calderon, but the Frenchman's low strike fizzed wide as Barcelona held on for the win.
Atletico will continue their La Liga campaign with a home match against Leganes this weekend, while Barcelona will host Athletic Bilbao.