Los Blancos lost their discipline late on as the struggling home team came from a goal behind to earn a crucial point to let Barcelona back in the hunt for the Liga title
Marcos Senna's late strike earned Villarreal a valuable 1-1 draw against nine-man Real Madrid, with Jose Mourinho's men opening the door for Barcelona in the Primera Division title race.
Cristiano Ronaldo's brilliant strike looked to have sealed all three points for the visitors, only for Senna to cancel his effort out with a free-kick. Mourinho, Sergio Ramos and Mesut Ozil were all sent off as Los Blancos lost their discipline late in the contest.
The league leader remains six points clear of Barca at the summit with a trip to Camp Nou to come next month, meaning the race for La Liga looks far from over.
Real Madrid created the first real opportunity of the game in the ninth minute when Xabi Alonso's drifted an inviting free-kick towards the back post. Pepe was on cue to send a header along the goalmouth with several white shirts lurking, yet Cristian Zapata managed to somehow deflect the ball over the bar from close range.
However, Villarreal was also creating chances. Marcos Senna's clever pass appeared to have picked out Marco Ruben yet the Argentine striker was marginally beaten to the ball by the Iker Casillas, who smothered his shot.
Then on 19 minutes, Mario's innocuous ball looked to be under the control of Sergio Ramos but Nilmar was on hand to rob the defender on the edge of the box, before seeing his low drive well blocked by Casillas.
The home faithful felt they had a strong claim for a penalty with 31 minutes on the clock as Senna's corner was directed wide by Nilmar who was clearly off balance after Alvaro Arbeloa had been holding onto his shirt.
Despite Villarreal's impressive play it could have been Mourinho's men 1-0 up heading into the break. Xabi Alonso's free-kick found an unmarked Pepe in the box, only for the Portuguese center half to inexplicably head the ball straight at Diego Lopez from six yards out.
Madrid needed a moment of inspiration to take the lead and it arrived from Cristiano Ronaldo in the 62nd minute. The Portuguese attacker played a wonderful one-two with Ozil before rounding the keeper and slamming home for his 43rd goal of the season.
The visitors appeared to be heading for a crucial victory but conceded a costly 83rd minute equalizer. Marcos Senna stepped up to curl a free-kick into the bottom corner of the net, past the outstretched hand of Casillas, for what could be a pivotal goal at both ends of the table.
Mourinho was furious with the award of the free-kick and was duly sent to the stands, joining Blancos coach Rui Faria who had earlier been sent away in four minutes of madness for Madrid.
Sergio Ramos' late lunge on Nilmar just after earned the defender a second yellow card, while Ozil's reaction to his teammates' dismissal also saw him awarded a red card as Madrid finished with nine men.
Madrid entertains Real Sociedad on Saturday, after Barcelona has faced Mallorca in the early kick-off. Villarreal will be looking to carry the momentum of earning a point against the league leader intoits away fixture versus Rayo Vallecano the following day.