Fernando Torres’ winner sealed a 1-0 victory which leaves Atleti seven points behind their city rivals Real Madrid.
The striker, back at his boyhood club on loan from AC Milan, came off the bench to fire an impressive winner in the 73rd minute at El Madrigal.
Diego Simeone’s men are now unbeaten in 11 games, while Villarreal remain in sixth place despite failing to win any of their last eight matches.
Sevilla kept their quest for Champions League football alive with a convincing 3-1 win at struggling Eibar.
Carlos Bacca scored twice inside 15 minutes to put the visitors in charge, and in the second half Jose Antonio Reyes restored the two-goal lead after Federico Piovaccari pulled one back for the hosts.
This win takes Sevilla into fourth in the table and a point clear of Valencia – who visit Rayo Vallecano on Thursday ??? while Eibar remain perilously close to the relegation zone,16th in the table on 31 points.
Nolito struck at the death to give Celta Vigo a last-gasp 1-0 win over Malaga and breathe life into the Galicians’ hopes of qualifying for Europe.
The in-form forward smashed home a loose ball in the area in the 89th minute to decide an evenly-matched game and turn the race for the final European place upside down.
The Andalusian’s late goal gave Celta a third win in four matches and they move on to 45 points, just two shy of Malaga, who still occupy seventh spot but are now level on points with Athletic Bilbao, and have gone seven matches without tasting victory.
Elche moved away from trouble by thrashing fellow strugglers Deportivo La Coruna 4-0.
Jonathas opened the scoring in the sixth minute and David Lomban doubled the lead from the penalty spot in the 19th minute.
Mario Pasalic killed the game off as a contest eight minutes into the second half and Garry Rodrigues completed the scoring at the death.
The result puts Elche eight points clear of trouble while Deportivo are in the bottom three, two points shy of Almeria above them.