1 of 3
Alberto Saiz, Associated Press
Barcelona's Lionel Messi from Argentina, right, duels for the ball with Villarreal's Mateo Musacchio from Argentina during their La Liga soccer match at Madrigal stadium in Villarreal, Spain, Saturday, Jan. 28, 2012.

BARCELONA, Spain — Three days after Barcelona ended Real Madrid's Copa del Rey title defense, the Spanish champions' own hopes of a fourth successive league title suffered a setback in a 0-0 draw at Villarreal on Saturday.

Barcelona's slip let Madrid move seven points clear of its fierce rival on top of the standings just past the season's midway point, thanks to its earlier 3-1 comeback win over last-place Zaragoza.

The Catalan side's troubles away from home, where it has won only four of 10 matches, compounded by an attack thinned by injuries took their toll at El Madrigal Stadium.

Lionel Messi missed with a chip shot early, and Cesc Fabregas hit the crossbar late in Barcelona's best scoring chances against a Villarreal that did well to hold off the visitors' late surge.

"Seven points is an important advantage," said Barcelona right back Dani Alves. "But I have seen bigger ones, so we have to keep looking ahead."

Zaragoza, which upset Madrid at home late last season, started well with Angel Lafita scoring an 11th-minute opener.

But Kaka leveled for Madrid in the 32nd at Santiago Bernabeu Stadium, and Cristiano Ronaldo and Mesut Oezil added two more shortly after halftime to decide the game.

Madrid has won nine of 10 league home games this season, with its only home loss to Barcelona in December. And while Barcelona has dominated their head-to-head meetings with only one loss over the past three seasons, Madrid is proving to be better overall in the league.

Even so, Kaka wasn't completely happy with his team's showing.

"We can't always have to rally to win and concede so many goals both home and away," Kaka said about his Madrid which hasn't kept a clean sheet in 10 straight home games. "These are things that we can improve."

Barcelona coach Pep Guardiola patched together a front line of Lionel Messi, Cesc Fabregas and Adriano, with the injured Andres Iniesta, Pedro Rodriguez, David Villa and Ibrahim Afellay all unavailable and Alexis Sanchez tagged as a reserve.

Villarreal pressed the European and world champions high up the pitch from the start, and the risky tactic almost cost the "Yellow Submarine" dearly in the 17th when Dani Alves' long pass left Messi alone with only the goalkeeper Diego Lopez to beat. But Messi, usually so precise in front of goal, sent his lob bouncing wide.

Alexis, who was a late inclusion in the squad after hurting his shoulder in Wednesday's elimination of Madrid in the Copa del Rey, went on as a substitute with half an hour to play.

Guardiola also sent on Thiago Alcantara and youth player Cristian Tello, and Tello set up Fabregas at the edge of the area in the 79th, only to see his shot come off the woodwork.

Messi had a chance to grab the win when he got through the defense in the 87th, but goalkeeper Diego Lopez blocked his close-range strike, and Fabregas sent the rebound sailing over the bar.

After the strong Copa del Rey display, Madrid coach Jose Mourinho opted again for an attack-minded starting 11 with rarely used Esteban Granero and Kaka in midfield behind Oezil and scoring pair Karim Benzema and Ronaldo.

Madrid, however, started sluggish with Benzema sending a header well wide before Zaragoza grabbed an unexpected lead.

Lafita, who netted a double in Zaragoza's 3-2 surprise win at Madrid last April, redirected recent signing Carlos Aranda's short cross into the back of the net as the visitors caught Madrid a step slow on a free kick taken quickly by Luis Garcia.

"Their goal was our fault," Granero said. "We should have been more aware."

Madrid dominated possession as it looked for the equalizer which came through Kaka in the 32nd. The former AC Milan star ran onto Ricardo Carvalho's excellent throughball down the left side of the area and slotted under goalkeeper Roberto Jimenez.

Madrid went ahead for good in the 49th when Granero played Oezil wide on the right flank, and the Germany midfielder placed a cross behind the defense for Ronaldo to tap in and take his league-leading tally to 24 goals.

Oezil gave Madrid a two-goal cushion in the 56th with a left-footed rising blast after Kaka set him up inside the left side of the box.

Elsewhere, Fernando Llorente scored a hat trick to give Athletic Bilbao a 3-2 win at Rayo Vallecano, while Espanyol edged 10-man Mallorca 1-0.

On Sunday, it's: Real Betis vs. Granada, Real Sociedad vs. Sporting Gijon, Levante vs. Getafe, Racing Santander vs. Valencia, and Malaga vs. Sevilla.

Atletico Madrid is at Osasuna on Monday.