Atletico Madrid lost their first home league match in 2014 this evening as Luciano Vietto scored a late goal to extend Villarreal's winning streak to four games.
In the first half Villarreal frustrated Atletico and actually had the best chance of the opening period when Denis Cheryshev shot tamely at Miguel Moya shortly before the break.
The visitors then appealed for a penalty when the ball appeared to strike Gabi on the arm, but referee Pedro Perez didn't point to the spot.
The Yellow Submarine maintained their momentum after the interval and were again close to the opener when Vietto struck just wide.
Atletico then took control of the game and almost broke the deadlock when Mario Mandzukic's close-range effort was kept out by Sergio Asenjo.
Minutes later Mandzukic did find the back of the net after some fine work by Arda Turan, but his goal was disallowed for a foul on Mario Gaspar.
The hosts were struggling to hit the target and the Vicente Calderon was silenced five minutes from time when Vietto escaped his marker on the edge of the area and finished coolly past Moya.
Atletico won a couple of late set pieces, but they were unable to rescue a point and lost their first match for over a month.
Diego Simeone's side miss out on the chance to go level on points with second-placed Barcelona, while Villarreal are up to sixth in the table.