Real Madrid moved seven points clear at the top of La Liga with a comfortable 3-1 win over bottom side Real Zaragoza as Barcelona could only draw 0-0 at lowly Villarreal on Saturday.
The league leaders recovered quickly from their midweek King's Cup quarter-final exit to arch-rivals Barca and it was Pep Guardiola's victors who seemed to suffer a hangover.
Barca's pursuit of a fourth consecutive league title is now an even tougher task as they seek to catch Jose Mourinho's men after yet another poor showing on the road where five draws and one defeat has taken it's toll.
Real's 17th win from 20 league games left them top on 52 points, with Barca second on 45. Valencia, in third with 35, visit Racing Santander on Sunday.
The European and Spanish champions were down to the bare bones at the Madrigal with Pedro a late addition to their growing injury list that includes the striker David Villa and midfielder Andres Iniesta.
Lionel Messi lobbed just wide during a stale first half as Barca lacked their usual zip against a side who started the day in 17th place having won their first game in 11 attempts last weekend.
Barca threw men forward near the end, fielding Alexis Sanchez as a substitute despite him playing with a shoulder injury, but they could not beat home keeper Diego Lopez.
The Spanish international denied Messi in a one-on-one in the closing minutes and with the goal gaping, Fabregas booted the rebound high over the bar to complete a bad night for the visitors.
"The league isn't over yet, there is still a long way to go," World Player-of-the-Year Messi said.
"We just lacked a bit of luck tonight. We didn't play as well as we can do, but we created chances and all we lacked was a goal."
Angel Lafita gave Zaragoza a surprise early lead at the Bernabeu after a quickly taken freekick in the 11th minute but thoughts of a first win since mid-October quickly disappeared.
Brazilian Kaka squeezed a low shot under Roberto to level in the 32nd minute and Cristiano Ronaldo tapped in his 24th league goal of the campaign at the start of the second half.
The lively Mesut Ozil netted with a fierce drive after a slick passing move in the 56th and the whistles from home fans against Mourinho from last weekend, appeared long forgotten.
Manolo Jimenez's side remain six points adrift at the foot of the standings with 12 points, and are without a win in 13 outings.
Espanyol are fifth with 31 points and Athletic Bilbao sixth on 29 after both won earlier on Saturday.
Espanyol recovered from a shock midweek King's Cup quarter-final exit against tiny third-tier side Mirandes to beat 10-man Real Mallorca 1-0 at home.
Vladimir Weiss capitalised on an error from Mallorca's Israeli goalkeeper Dudu Aouate to put the Catalans in front after 18 minutes, but they failed to make the extra man count when Aouate was harshly sent off just after the break.
Spain striker Fernando Llorente scored a hat-trick as Cup semi-finalists Bilbao came from behind to win 3-2 in a pulsating encounter at Rayo Vallecano.
The powerful frontman nodded in the equaliser, controlled a long ball and turned his marker to put them 2-1 up, and headed the winner for his 11th league goal this season.