Ronaldo strikes twice on Real return
The Portuguese forward, banned for two matches after his red card against Malaga last month, was a constant threat to the promoted Andalusians and twice combined with Brazilian playmaker Kaka to score Real's second and third goals.
"We'll never stop needing Cristiano, even if we won the two matches without him," Real coach Manuel Pellegrini told a news conference.
Undefeated champions Barca can restore a five-point advantage with a win at Atletico Madrid on Sunday in a fixture that has yielded 19 goals in the past three seasons.
Coach Pep Guardiola is expected to promote a youth player to right back with five first team defenders injured or suspended.
Second-placed Real have 53 points from 22 matches, Barca have 55 from 21 and Valencia are on 43 in third after being held to a 1-1 draw at mid-table Sporting Gijon earlier on Saturday.
Tiny Xerez are six points adrift on their debut in Spain's top flight but made a bright start on their soggy Chapin pitch that Marca sports daily had likened to a potato field.
Home midfielder Momo found space to send a shot whistling over Iker Casillas's bar in the 12th minute before Ronaldo tested goalkeeper Renan with a header and then shot just wide after running onto a Xabi Alonso through ball.
Real's record signing, roundly whistled every time he touched the ball, almost gave Manuel Pellegrini's side the lead just before half-time when his header from an Alvaro Arbeloa centre shaved the bar.
Alonso sent Arbeloa clear to finally break the home side's resistance in the 64th minute, his first goal of the season, before Ronaldo doubled the lead with a header from Kaka's cross five minutes later.
The Brazilian tempted Renan off his line in the 71st and squared for Ronaldo to sweep the ball past two Xerez defenders into the empty net.
"We knew the match would be difficult because of the pitch but I have played on fields like that since I was a kid," Real defender Marcelo said in a television interview.
"There's no need to repeat it but Cristiano always decides matches," the Brazilian added.
Arbeloa said: "They are bottom of the league but they made it very difficult for us. Hopefully Atletico will give us a hand and beat Barcelona tomorrow."
There was drama at Villarreal in a frenetic finish to their 2-1 win over Athletic Bilbao in the late kick-off, with home goalkeeper Diego Lopez saving a penalty and four dismissals, including Bilbao coach Joaquin Caparros.
Igor Gabilondo had levelled for the visitors after Spain defender Joan Capdevila's opener but Villarreal's Brazilian striker Nilmar then grabbed the winner just before half-time.