It became clear early on that the Atletico fans were not going to welcome Antoine Griezmann back to the Wanda Metropolitano with open arms as the Frenchman was loudly booed from the moment that he took his first touch.
Marc-Andre ter Stegen then made a quite stunning save moments later to keep out a close-range volley from Hermoso as Barca continued to ride their luck in the early exchanges.
Hector Herrera was next to come close for a dominant Atletico side, the Mexican curling just wide of the far post in the 25th minute as the pressure continued.
Atletico had another huge chance to take the lead in the 40th minute when Alvaro Morata climbed highest inside the box before powering a header towards goal, only for Ter Stegen to make a stunning stop.
Gerard Pique then rattled the woodwork with a header down the other end as both teams had big chances to take the lead before the half-time break in the Spanish capital.
It was as open a half of football as these two sides have played for some time, but both sets of players headed down the tunnel with the score goalless.
Atletico were the team on the front foot in the early stages of the second period, and Koke had a shot deflected behind in the 56th minute following a quick counter-attack.
Barca, on the other hand, were struggling to make things happen in the final third with the link-up between Griezmann and Messi non-existent.
Messi did force Oblak into a save just past the hour, though, before the Atletico goalkeeper had to keep out an attempt from Suarez in the period that followed.
Griezmann was next to try his luck in the 69th minute after meeting a high ball inside the Atletico box, but the France international's volley ended up in the stands.
Atletico asked for Pique to be sent off in the 70th minute after the centre-back had lunged in on Morata while on a booking, but the referee was not interested and play continued.
Barca also had a case for Vitolo to have been sent off in the latter stages with the Spaniard diving into a reckless tackle with Pique despite picking up an earlier yellow card.
Pique was actually unable to finish the match having damaged his knee, meaning that Samuel Umtiti was the second player off the Barca bench in the final exchanges.
It did appear that the match was heading for a goalless draw but Messi had other ideas. Indeed, the Argentine danced past a couple of challenges before playing a one-two with Suarez and then feeding the ball into the bottom corner of the net, just out of Oblak's reach.
Renan Lodi had Atletico's best chance of a leveller in the final stages, but the left-back fired straight into the arms of Ter Stegen as Messi's goal proved to be the difference at the end of a pulsating contest.
Next up for Atletico, who are struggling for wins this term, is a trip to Villarreal on Friday night, while Barca will be looking to extend their winning run when they host Mallorca next weekend.
ATLETICO MADRID (4-3-3): Oblak; Trippier, Hermoso, Felipe, Saul; Correa (Lemar 73'), Herrera (Lodi 87'), Thomas, Koke; Morata, Felix (Vitolo 66')
BARCELONA (4-3-3): Ter Stegen; Roberto, Pique (Umtiti 83'), Lenglet, Junior; De Jong, Arthur (Vidal 73'), Rakitic; Griezmann, L Suarez, Messi