The captain scored from the spot to strengthen his side's position at the summit.
Sergio Ramos hit a late penalty as Real Madrid moved four points clear at the top of the LaLiga table with victory over Getafe.
After Barcelona were held by Atletico Madrid earlier in the week, Real won 1-0 on Thursday night to pull further clear of their two nearest rivals at the summit.
Getafe more than held their own at the Bernabeu for much of the evening until the hosts were awarded a penalty 12 minutes from time.
Dani Carvajal was tripped by Mathias Olivera after cutting back inside the box and Ramos made no mistake from the spot, scoring his 21st successive penalty to earn Zinedine Zidane's side a hard-fought three points.
Espanyol remain rooted to the foot of the table after losing at Real Sociedad.
David Lopez put the visitors ahead with a stooping header after Willian Jose had seen a similar effort ruled out by VAR for offside.
He did turn home the equaliser for Sociedad, who wrapped up a 2-1 win courtesy of substitute Alexander Isak's effort.
Ruben Garcia hit both goals as Osasuna won 2-0 at Eibar in the other LaLiga fixture of the night.
In Serie A, Atalanta took a firmer hold of fourth place and the final Champions League qualification spot following a 2-0 home win over Napoli.
The visitors lost goalkeeper David Ospina to injury before a Mario Pasalic header and a drilled strike from Robin Gosens secured a seventh straight win for Gian Piero Gasperini's side.
Atalanta's top-four ambitions were further boosted as fifth-placed Roma lost at home to Udinese.
Kevin Lasagna put the visitors ahead early on before Roma had Diego Perotti sent off just shy of the half-hour for fouling Rodrigo Becao.
Ilija Nestorovski secured a 2-0 victory, coming off the bench to score at the end of an Udinese counter-attack.
Meanwhile, the first leg of the Bundesliga relegation play-off ended goalless as Werder Bremen's 39-year stay in the top flight remains in doubt.
Facing promotion hopefuls Heidenheim at home, the 0-0 draw leaves the tie wide open, with Bremen playing the final three minutes with 10 men following Niklas Moisander's red card.