Barcelona dropped precious points in a 0-0 draw at Villarreal on Saturday night to slip seven points behind Real Madrid at the top of La Liga. Earlier Kaka, Cristiano Ronaldo and Mesut Ozil had scored to help Real Madrid beat Zaragoza 3-1 and pile the pressure on Barca, who never convinced against a well organised Villarreal. In a tight match with both teams relying on their passing games to create space, goal opportunities were rare and what Barca did create was stopped by an inspired Diego Lopez in the home team's goal. The first chance came on three minutes when Dani Alves found himself clear with just Lopez to beat at close range, but the Villarreal goalkeeper stood tall and blocked the Brazilian's weak shot. Five minutes later Villarreal conjured up some quick passing that produced an opening for Ruben Gracia 'Cani' who produced a good save from Victor Valdes. Lionel Messi was then sent clear for a one-on-one with Lopez which saw him gently lob the ball over goalkeeper only to watch the ball gently roll inches wide. Javier Mascherano was at hand to clear a wayward Gerard Pique header from the Barcelona goal-line and Villarreal were suddenly creating the better chances. Marco Ruben shot high on 35 minutes after strong run took him clear and then Marco Senna brought an acrobatic save from Valdes. Pep Guardiola made a tactical change on the hour mark, taking off Pique and replacing him with Alexis Sanchez, but the all important three points seemed a long way from Barca's grasp. Cesc Fabregas had a shot pushed by Lopez onto the bar with 12 minutes remaining and a subdued Messi had two shots blocked in the final minutes. Angel Lafita gave bottom side Zaragoza an early lead in the Santiago Bernabeu but the leaders were dominant throughout and could have scored more than three goals in reply. The result makes it fifteen wins in sixteen league games, the home defeat to Barcelona in December being the only blip, for a Madrid side showing great consistency in the league. Afterwards Madrid coach Jose Mourinho avoided talking to the press, preferring instead to send out his assistant Aitor Karanka. "The team has not been as good tonight as we would have liked," he said. However, Esteban Granero, who started only his second league match of the season, summed up the importance of the result for Madrid. "We had to win this game and maintain the gap that we have at the top of the league," he said. Lafita surprised Madrid when he opened the scoring on ten minutes against the run of play, turning in a cross from ex-Madrid youth player Carlos Aranda. However, Madrid soon responded as Kaka latched on to a Ricardo Carvalho pass and slotted the ball home for the equaliser on 31 minutes. Madrid continued in the same vein after the break and Ozil supplied Ronaldo for an easy finish on 48 minutes. Then Kaka was the supplier for Ozil, who finished well with a powerful shot from a tight angle for his first goal of the season and Madrid's third on 55 minutes.Iker Casillas had to save well to deny Hector Postiga on 71 minutes, but Madrid were never in trouble of losing control of the game against a side marooned six points behind their closest competitor at the foot of the table. Earlier, Espanyol beat ten-man Mallorca with a Vladimir Weiss goal to remain fifth, level on points with fourth placed Levante, who play Getafe at home on Sunday. Slovakian winger Weiss, on loan from Manchester City, grabbed his second goal of the season for Espanyol on 18 minutes after a huge mix up between Dude Aouate in the Mallorca goal and his defender Pablo Caceres. Aouate received his marching orders in the first minute of the second-half for what seemed to be a clean tackle on Espanyol forward Rui Fonte. Spain centre-forward Fernando Llorente scored a hat-trick for Athletic Bilbao in a 3-2 win at Rayo Vallecano to keep the Basque side in sixth, two points behind Espanyol and Levante.