Barcelona continued their rampant run of domestic form to beat Osasuna 2-0 away from home on Saturday and move to within two points of La Liga leaders Atletico Madrid, with Lionel Messi setting up goals scored by Jordi Alba and teenager Ilaix Moriba.
Messi helped Barca take the lead on the half-hour mark when he carved open Osasuna's defence with a superb cross-field ball to Alba, who controlled before blasting into the roof of the net.
He then laid the ball off when 18-year-old midfielder Ilaix struck in the 83rd minute, producing a confident finish inside the post from outside the area to score his first goal for the club in only his third league appearance.
The victory followed Barca's heroic second leg comeback win over Sevilla to reach the Copa del Rey final on Wednesday and notched a 13th league win in 16 games, while they are unbeaten since losing at Cadiz on December 5.
The Catalans stay second but moved on to 56 points after 26 games, two points behind Atletico Madrid who have played 24 matches and host third-placed Real Madrid on Sunday. Osasuna are 13th on 28.
"We just needed to keep on winning. It wasn't our best performance but we played well and we deserved the win," said Barca coach Ronald Koeman.
"We played with a lot of energy. We were tired, but we put in a professional performance and scored two great goals. I'm very happy, this is a very important run and I hope we stay on this path."
Perhaps still feeling the effects of the 3-0 win over Sevilla after extra time, Barca took a while to settle and nearly went behind in the second minute. They were spared thanks to the first of three impressive saves from Marc-Andre ter Stegen.
The German had to scurry back to stop an audacious attempt from Osasuna's Jonathan Calleri, who went for goal from his own half. He also made a truly outstanding save to deny Kike Barja later in the first period, flying to his top right hand corner and throwing up his left hand to swat the ball away.
With Barca then leading through Alba's vicious strike, Ter Stegen rescued the visitors for a third time, denying midfielder Ruben Garcia from close range.
Having gone through a tumultuous campaign on and off the pitch this season, things are looking up for Barca, who will elect a new president in Sunday's election.
They then head to France looking for another miraculous Champions League comeback against Paris St Germain for Wednesday's last-16 second leg, looking to overturn a 4-1 deficit.
"We have to rest now and then we'll prepare the game. I don't want to say it's impossible, and we'll go there and try to get a good result," Koeman added.
Lewandowski hat-trick steers Bayern past Dortmund
Champions Bayern Munich roared back from two goals down to beat Borussia Dortmund 4-2 on Saturday with a hat-trick from Robert Lewandowski, to remain two points clear at the top of the Bundesliga.
Dortmund, who had won their four previous games in all competitions, scored twice with Erling Haaland in the opening nine minutes and Poland striker Lewandowski responded with a brace of his own in an explosive first half.
But a goal from Leon Goretzka in the 88th minute put the hosts in front and Lewandowski scored his third in the 90th to kill off the game.
"It is currently the case that if an opponent gets a chance, we get punished," said Bayern coach Hansi Flick. "But we shook ourselves after 2-0 and showed that we won't have it taken away from us.
"We deserved the win in the end because we dominated the game for an hour. The team showed it was awake after going 2-0 down."
Lewandowski, chasing Gerd Mueller's legendary record of 40 league goals in one season dating back from the 1971-72 campaign, now has 31 goals with 10 league games remaining.
Bayern, hunting a record-extending ninth consecutive league title, are on 55 points, two ahead of RB Leipzig, winners 3-0 at Freiburg. Dortmund dropped to sixth on 39.
The league's two best attacks lived up to their reputation in Der Klassiker with a stunning four-goal first half performance in an empty Allianz Arena.
In a flawless start, Dortmund, who had won the last four games in all competitions, were 2-0 up by the ninth minute with Haaland thundering in a shot and tapping in a cutback to take his league tally to 19 goals.
Bayern, however, quickly worked their way back, took control and struck twice with Lewandowski in the 26th minute and a 44th minute penalty for a foul on Kingsley Coman, to send the teams level at halftime.
"We started well but we should have kept it up," said Dortmund's Emre Can. "I am very disappointed. At some point we did not play football any more. It was not good enough today."
Both took their foot off the gas after the break and Haaland had to be taken off injured on the hour with the visitors looking content with the draw, unwilling to risk too much in search of a winner.
Bayern pushed for a third goal and had their chances before Goretzka volleyed in a bad clearance to turn the game around and Lewandowski capped a superb performance, rifling in from the edge of the box.
Morata double fires Juve to comeback win over Lazio
Two goals from Alvaro Morata helped Juventus come from behind to beat Lazio 3-1 in Serie A on Saturday, closing the gap on leaders Inter Milan to seven points.
Joaquin Correa capitalised on an underhit backpass from Juve's Dejan Kulusevski before finishing well to give the visitors a surprise 14th-minute lead.
With Cristiano Ronaldo on the bench, the champions struggled to create any real openings until Adrien Rabiot scored a rare Serie A goal, firing into the roof of the net from a tight angle six minutes before the break to level.
Sergej Milinkovic-Savic almost put Lazio back ahead but was denied by the crossbar, and Juve capitalised by edging ahead through a fine Morata finish in the 57th minute.
Three minutes later, Morata slotted home from the penalty spot after Aaron Ramsey had been fouled to make sure of a win that moved Juve on to 52 points, one behind AC Milan in second.
Milan and Inter are in action on Sunday and Monday respectively.
A third defeat in four league games dented Lazio's top-four hopes, with Simone Inzaghi's men down in seventh on 43 points, six behind fourth-placed Atalanta.
"We played a great game after the goal conceded from our mistake," Juve's Federico Chiesa told DAZN. "After the draw in Verona (last weekend) something clicked.
"From now on every match is a final. Let's play like this if we want to win the Scudetto."
With a Champions League last 16 second leg against Porto to come in midweek, Ronaldo was rested by coach Andrea Pirlo, and without Serie A’s top scorer, Juve looked flat in attack.
After Correa had superbly guided home his third league goal of the season, the visitors looked comfortable with their lead.
Out of the blue, however, Rabiot stunned Lazio goalkeeper Pepe Reina, beating him at his near post to score only his second goal in all competitions this season.
The hosts got lucky as Milinkovic-Savic's brilliant turn and strike hit the woodwork, but there was nothing fortunate about Morata's first goal as Juve countered at pace before the Spanish striker hammered home.
Milinkovic-Savic clumsily bundled Welshman Ramsey over to present Morata with the chance to seal the win, which he coolly converted to give his side hope of catching Inter and making it 10 titles in a row.