Cristiano Ronaldo scored a pair after setting up Karim Benzema's spectacular opener as Real Madrid routed Osasuna 5-1 while Lionel Messi responded with his 56th goal to keep Barcelona within six points in the Spanish league on Saturday.
Gonzalo Higuain also scored a brace as Madrid didn't fumble at Reyno de Navarra Stadium, where Barcelona lost 3-2 this season, and Madrid leader Ronaldo moved one goal clear of Messi with a league-leading tally of 37 goals.
Before Barcelona won 2-0 over Athletic Bilbao, the Camp Nou paid tribute to Messi becoming the club's all-time leading scorer by unveiling an enormous banner, and the Argentina forward followed up Andres Iniesta's first-half goal with a 58th-minute penalty.
His 56th goal in all competitions is the most for a player in a major European league since Gerd Mueller scored 67 for Bayern Munich in 1972/73.
Ronaldo has 47 goals this season but it was his fancy footwork that set up Madrid's seventh-minute opener as he found space deep along the left side to fire in a long cross that Benzema volleyed back across goal and inside the far post.
"We converted the first opportunity with a goal from another world," Madrid coach Jose Mourinho said. "And the second goal was fantastic, too."
Osasuna goalkeeper Andres Fernandez couldn't get to the Portugal forward's shot from 35 meters (yards) out as it spun past in the 37th.
Madrid went into halftime leading 3-0 after Esteban Granero played Higuain clear through, with the Argentina striker chipping over Fernandez for his 100th goal with the Spanish powerhouse.
Juan "Nino" Martinez sneaked behind Alvaro Arbeloa to head home a long cross for the hosts in the 48th. And while Javad Nekanoum tested Iker Casillas in the 55th, Madrid restored its three-goal cushion in the 70th as Ronaldo's free kick from just outside the area took a deflection off Dejan Lekic to leave Fernandez without a chance.
"With the fourth goal it was over," said Mourinho, whose changes to the lineup with Pepe suspended included centerback Raul Albiol starting for the first time since December.
Higuain headed home Ronaldo's short cross seven minutes later for Madrid's 100th goal of the season, leaving the club just seven shy of matching its own 22-year-old record in a season with eight games to play.
"I can't imagine us losing this championship," Ronaldo said. "We're sitting very well."
Osasuna, who saw coach Jose Luis Mendilibar sent off for protesting soon after Ronaldo's opener, was left with 10 men after Roland Lamah's second yellow card in the 90th.