Luis Suarez has now scored six goals in his last three matches for Barcelona in all competitions.
Barcelona pulled off a remarkable late comeback against Rayo Vallecano, coming from 2-1 down with just three minutes left to win 3-2.
The result puts Ernesto Valverde’s side four points clear at the top of the Liga table following Atletico Madrid’s draw against Leganes earlier in the day, with Alaves set to play on Sunday. But Barca had to work for the three points.
They took the lead after just 10 minutes when Luis Suarez finished from close range following a cut back by Jordi Alba. But from that point on, Barcelona lost control of the game, with Jose Angel Pozo equalising 10 minutes before the break, whipping a finish in off the inside of the post.
Rayo Vallecano took the lead just before the hour mark when Alvaro Garcia scored with his first touch off the bench, finishing at the back post after Raul de Tomas struck the woodwork with a header.
It looked like that would be enough for the hosts, who looked the more likely to score the next goal, but Barcelona scored twice in three minutes; first through Ousmane Dembele and then through Suarez, who slid in at the far post to complete the comeback.