Barcelona moved third in LaLiga with a comfortable 4-0 win at Granada, who finished with 10 men.
Antoine Griezmann and Lionel Messi each scored twice as Ronald Koeman's men extended their unbeaten run to eight matches.
Barcelona were forced into a couple of defensive changes, with Oscar Mingueza replacing the suspended Clement Lenglet and Samuel Umtiti also starting after Ronald Araujo was injured during the warm-up.
Granada had an early chance when Antonio Puertas' shot was tipped over by Barca keeper Marc-Andre Ter Stegen.
Barcelona, though, were soon ahead when Antoine Griezmann slotted home in the 11th minute. The Frenchman was in an offside position but the goal was given as Granada forward Roberto Soldado sliced the ball to him.
Messi doubled Barcelona's lead in the 35th minute. Griezmann turned provider with a forward run into the Granada half before feeding the Barcelona captain, who placed a shot into the top corner.
The Argentina playmaker all but wrapped things up two minutes before half-time with a well-taken free-kick.
With a defender on the floor behind the wall, Messi instead shot low into the far corner on the other side of the goal which saw him become LaLiga's top scorer this season on 11.
Granada looked to regroup at the break and had another opening early in the second half, but Ter Stegen saved Antonio Puertas' shot from just inside the penalty area.
Frenkie De Jong sent a shot over the crossbar after running to the edge of the Granada penalty area.
It was 4-0 in the 63rd minute when Griezmann collected a pass from Ousmane Dembele to send an angled half-volley into the net.
With the job done, Barcelona boss Ronald Koeman gave Messi a rest as Martin Braithwaite came on for the closing stages.
In the 78th minute, Granada had substitute Jesus Vallejo sent off for tripping Braithwaite on the edge of the penalty area.
Denmark forward Braithwaite almost added a late fifth, but fired just wide after being picked out by Junior Firpo.
Later on Saturday, Real Madrid missed the chance to move back to the top of La Liga after they were held to a goalless draw at struggling Osasuna.
Zinedine Zidane's men twice had efforts ruled out for offside and struggled on the icy El Sadar pitch as the improving hosts extended their unbeaten league run to four games.
For Real it was a case of what might have been as they ended the weekend one point behind city rivals Atletico, who have played three games less after their own clash against Athletic Bilbao was called off.
Elsewhere, Sevilla beat Real Sociedad 3-2 as Youssef En-Nesyri bagged a hat-trick for the southern side to move level on points with their opponents in a share for fifth place.