Barcelona opened up a four-point lead at the top of La Liga as they came from behind to defeat Atletico Madrid 3-1.
Raphinha cancelled out Alex Baena's opener for the visitors at the Nou Camp, before Dani Olmo's smart finish turned the match around with 25 minutes left to play, and Ferran Torres scored a late third.
Barcelona trailed league leaders Real Madrid by five points after a 2-1 defeat in El Clásico in October, but five games later, they have a buffer at the top, having played one game more.
Los Blancos will travel to Bilbao to face Athletic Club on Wednesday.
Atletico took a 19th-minute lead when Baena latched on to a long pass over Barcelona's high defensive line and beat goalkeeper Joan Garcia with a dinked finish.
The assistant referee flagged for offside, but the goal was given after a video assistant referee (VAR) check.
Raphinha drew Hansi Flick's side level seven minutes later when he ran on to Pedri's precision through ball, rounded Jan Oblak and finished into the empty goal.
Barca dominated the remainder of the first half and were awarded a penalty when Pablo Barrios felled Olmo, but Robert Lewandowski blazed his effort well over the crossbar.
The second half descended into a breathless end-to-end encounter, and Barca took advantage when Olmo dragged a shot into the bottom corner following a mazy dribble from Lamine Yamal.
Diego Simeone's side should have equalised when Thiago Almada somehow missed an open goal after rounding Garcia, but Torres wrapped up the win with a close-range finish after controlling Alejandro Balde's cross.
Victory for Barcelona was soured by a shoulder injury sustained by Olmo in the act of scoring, as well as glaring misses by Lewandowski and Raphinha.
BBC