In a game that meant so much for Atletico Madrid, it was Cristiano Ronaldo and Real Madrid celebrating when it was all over.
Ronaldo scored a hat trick and Madrid handed rival Atletico a painful 3-0 loss on Saturday in its last Spanish league derby before leaving Vicente Calderon Stadium next season.
The victory also snapped Madrid's six-game winless streak against the city rival, and gave the club a four-point lead over Barcelona.
Barcelona was unable to overcome the absence of Lionel Messi and Luis Suarez in a 0-0 draw at Camp Nou, a result that ended its home scoring streak that started in February 2015.
Madrid's gap to Atletico increased to nine points, putting the rival's title chances in jeopardy after only 12 matches.
Diego Simeone's team, which has lost three of its last four league games, dropped to fifth in the standings.
Sevilla moved to third by scoring three unanswered goals — including two in the final five minutes — in a 3-2 win at Deportivo La Coruna.
Atletico Madrid 0, Real Madrid 3
Atletico played well in the emotionally charged game at the Calderon, and was in control of most everything except the scoreboard.
"It was a tough night," Atletico midfielder Jorge "Koke" Resurreccion said. "We wanted to win it for our fans."
Ronaldo opened the scoring in the 23rd from a free kick that deflected off the wall and wrong-footed goalkeeper Jan Oblak. Ronaldo converted a penalty kick in the 71st after he was fouled by Stefan Savic, and closed the scoring in the 77th off a cross by Gareth Bale.
"We played a great game against a complicated opponent in a stadium where it's difficult to win," Real Madrid coach Zinedine Zidane said. "Very few teams can win 3-0 here. It's not easy."
Madrid had two huge wins against Atletico in Champions League finals, including last season, but it hadn't beaten the rival in La Liga since 2013, when Jose Mourinho was in charge of Madrid.
Atletico had won four and drawn two of the last six league games between them.
Barcelona 0, Malaga 0
Without the unwell Messi and the suspended Suarez, Barcelona wasn't able to beat Malaga at home despite playing with an extra player from the 68th minute.
It was held by some poor finishing and a great performance by Malaga goalkeeper Carlos Kameni, who came up with key saves at Camp Nou, including a spectacular one four minutes into injury time on a close-range header by Neymar.
Messi was ruled out just hours before kickoff because he was ill and had vomited, the club said.
"We know these types of games are tough," Barcelona midfielder Sergio Busquets said. "We tried but we were unlucky in front of the goal. That's football. If you don't finish you can't win."
Barcelona, trying to win its fifth game in a row, hadn't been held scoreless in 17 league games. The last time it failed to score at least a goal was in a 1-0 defeat at Real Sociedad in April. At home, it hadn't failed to score since a 1-0 loss to Malaga in the Spanish league on Feb. 21, 2015.
"We played relatively well, but sometimes the ball just doesn't want to go in," said defender Gerard Pique, who played the final part of the game as a striker.
Deportivo La Coruna 2, Sevilla 3
Sevilla scored twice in the end to rally from two goals down at Deportivo La Coruna and stay near the top of the standings.
Deportivo appeared in control after goals by Ryan Babel in the first minute and Florin Andone in the 42nd, but Sevilla got back into the game with Steven N'Zonzi's strike just before halftime at Riazor Stadium.
Victor "Vitolo" Machin, who came into the match as a halftime substitute, equalized with a right-footed shot from inside the area in the 87th, and defender Gabriel Mercado netted the winner from close range after a corner two minutes into injury time.
Coach Jorge Sampaoli rested some of Sevilla's regular starters ahead of the Champions League game against Juventus on Tuesday.
Elsewhere, Eibar moved to seventh place by beating visiting Celta Vigo thanks to a ninth-minute goal by Fran Rico.