- Rodrigo De Paul (45'+2')
- Álvaro Morata (47')
- Yannick Carrasco (77')
- Matija Nastasic (20')
With seven games to play, third-placed Atletico climbed to 63 points, closing the gap to Real, who lost 4-2 at Girona on Tuesday. Barcelona, top with 76 points, can extend their lead when they face Rayo Vallecano later on Wednesday.
Celebrating their 120th anniversary in front of a nearly sold-out Metropolitano Stadium and wearing a blue and white kit inspired by the one they used in their first match in 1903, Atletico fell behind in the 19th minute after Mallorca defender Matija Nastasic scored with a header from a corner.
But Atletico took control of the match, creating several opportunities mainly through in-form Antoine Griezmann, who is in contention for LaLiga's player of the season.
The referee initially awarded Atletico a penalty for a foul on Nahuel Molina inside the box, but reversed his decision after checking the VAR replay.
Atletico recovered, netting twice within two minutes at the end of the first half and the beginning of the second.
Rodrigo de Paul scored in added time before the break with a close-range strike and right after half-time Alvaro Morata netted with a towering header from a perfect Molina cross.
Yannick Carrasco wrapped up the points from a counter-attack in the 76th minute, collecting a brilliant long pass from Griezmann and dribbling around the goalkeeper before tapping into the empty goal.
"It's a day of celebration and we have put the icing on the cake with this win," Atletico captain Koke told DAZN. "We started losing, but the team's attitude was spectacular to turn the game around.
"We are two points behind Real Madrid and we have to be ambitious. We didn't win in Barcelona, but we have the mentality to finish the season as high as possible."
- Juan Luis Pulido Santana