The result means that Barca are now 11 points clear of second-placed Atletico in the table with just seven matches of the 2018-19 La Liga campaign left to play.
Ousmane Dembele was once again absent for Barca through injury, while Arturo Vidal missed out through suspension. It was the XI that were expected to take to the field, with Philippe Coutinho joining Messi and Luis Suarez in attack while Arthur was handed a midfield spot.
As for Atletico, the big team news saw Costa start after recovering from a muscular injury. Alvaro Morata made the bench, meanwhile, after initially being ruled out with an ankle problem.
Barca dominated the early possession, but the first shot of the match came from Atletico - Jose Gimenez clearing the crossbar with a long-range attempt in the third minute.
Costa was next to come close for the visitors as he headed a Filipe Luis cross over the goal in the 10th minute, before Coutinho had a strike deflected wide of the post down the other end of the field.
Jordi Alba had a golden opportunity to send the home side ahead in the 15th minute after being found by Messi, but the left-back could only poke the ball against the post and Jan Oblak collected the rebound.
Messi was also causing issues and struck a free kick just over Oblak's crossbar in the 23rd minute, before Coutinho forced Atletico's goalkeeper to make an outstanding save five minutes later.
The match completely changed in the 28th minute, though, when Costa picked up a straight red card. There was no challenge or obvious moment of madness from the Spain international, but he put his face very close to the referee before uttering something which saw the centre-forward receive his marching orders.
A mistake from Diego Godin sent Luis Suarez through on goal in the latter stages of the first period, but the centre-forward could not make the most of the opportunity and Godin was back to make the challenge.
The final shot of the first half came from Messi, but Oblak was on hand to make the save as the two teams headed down the tunnel at 0-0 following an eventful first 45 minutes at Camp Nou.
Atletico showed good intent in the early stages of the second period, but the first shot after the restart came from Sergio Busquets, who missed the crossbar from distance.
Messi then tested Oblak from distance, but the visitors were enjoying lots of the ball as the half started to progress, with Barca certainly playing within themselves ahead of next week's trip to Old Trafford.
Barca had a golden chance to take the lead in the 62nd minute when Messi found Luis Suarez inside the Atletico box, but Oblak was on hand to make another wonderful save. The away side's goalkeeper then denied Messi moments later as the Spanish champions started to move through the gears.
Meanwhile, Ter Stegen was called into action down the other end to keep out a powerful free kick from Griezmann with the score still level approaching the final 20 minutes of action.
Coutinho was again poor for Barca and left the field in the 80th minute for Carles Alena, but the pattern of the match did not change as Atletico continued to enjoy plenty of the ball.
Barca incredibly took the lead in the 85th minute, though, with Luis Suarez finding space outside the box before picking out the bottom corner with a fine finish to break Atletico's hearts.
It was to get worse for Simeone's side less than two minutes later, however, with Messi picking out the corner with the calmest of finishes to make it 2-0 to the Spanish champions, effectively sealing another league title in the process.
Next up for Barca is a trip to Manchester United on Wednesday for the first leg of their Champions League quarter-final, while Atletico will return to league action at home to Celta Vigo next weekend.
BARCELONA (4-3-3): Ter Stegen; Roberto (Semedo 85'), Pique, Lenglet, Alba; Arthur (Malcom 63'), Busquets, Rakitic; Coutinho (Alena 80'), L Suarez, Messi
ATLETICO MADRID (4-4-2): Oblak; Arias (Correa 34'), Gimenez, Godin, Luis (Morata 59'); Saul, Rodrigo (Juanfran 88'), Thomas, Koke; Griezmann, Costabody check tags ::