Ousmane Dembele's first-half effort proved to be the only goal of the game, with the hosts unable to capitalise on the opportunity to move into the top four.
Barca definitely started the brighter of the two teams, finding it unusually easy to break the Atletico defence down, and they had two good opportunities to take the lead within the first 10 minutes.
The ball was worked to Dembele on the left of the area, but the Frenchman decided to cut inside rather than get a shot away and was dispossessed, before Ansu Fati had an effort blocked from just inside the box.
Xavi's side continued to dominate the ball throughout the first half-hour, and they got their reward in the 22nd minute when Pedri drove the ball forward for too easily from an Atletico perspective, and laid it off to Gavi.
There were some shouts for a foul from Gavi in the build-up, but in truth Reinildo Mandava was just far too lightweight, and the attacker slid it in for Dembele, who made no mistake in slamming the ball home.
While Diego Simeone's teams are normally associated with defensive structure, his side looked all over the place at times in the opening 45 minutes, with Jose Gimenez playing a terrible back pass that was seized upon by Gavi, but the forward hesitated before a weak attempt.
After their very slow start, the home side did grow into the game as the first half wore on, missing multiple clear-cut opportunities to take the lead, the first of which coming when Gimenez headed wide, despite being completely unchallenged in the box.
Set-pieces were the main threat for the Colchoneros, and Mandava should have scored when Marc-Andre ter Stegen flapped at a corner, but the 28-year-old headed just wide.
Atletico did show some improved signs towards the end of the first half, but they continued to get caught out defensively in the second 45, most notably just after the hour mark, when Jules Kounde picked out Dembele with a long ball, only for the Frenchman to be denied by the post.
Despite threatening with an uncharacteristically direct ball, the Blaugrana soon reverted to their passing style, and continued to cause problems for their opponents, with Dembele and Pedri the key men, involved in the majority of the attacking play.
Simeone opted to bring Alvaro Morata and Thomas Lemar on as substitutes in an attempt to inject a spark into his side's attack, but it was a Barca substitute that threatened most in the box, with Ferran Torres having a goal ruled out for offside, after finishing coolly.
Both sides were reduced to 10 men with the game approaching its conclusion, after an off-the-ball altercation between Stefan Savic and Torres, the only blight on the game for Xavi, as the striker had impressed after coming off the bench.
The visitors did not manage to extend their lead, but they looked comfortable in the final stages of the game regardless, at least until an Antoine Griezmann effort from close range was dramatically blocked on the line by Ronald Araujo deep into stoppage time.
The Frenchman had a chance for redemption with a late free kick from 20 yards out, but the Barca wall stood tall and blocked it, securing a vital three points on the road.