Barcelona came from behind twice to seal a 3-2 win against Villarreal in Sunday evening's La Liga clash at the Camp Nou, recording their eighth victory in a row.
The hosts were first to threaten following a slow start, Andres Iniesta threading a pass through to Luis Suarez, but the Uruguayan sent his low shot wide of the post.
Just before the quarter-hour mark, the former Liverpool striker bore down on goal before unleashing a curling shot towards the top corner, but Sergio Asenjo was able to pull off a smart save to keep his side's clean sheet intact.
And Suarez was in the thick of the action once again in the 21st minute when he collected the ball inside the Villarreal box before blasting over the bar.
On the half-hour mark, the visitors took the lead through a quick counter that was bundled into the net by Denis Cheryshev's deflection from Mario's shot.
However, just as it seemed like the Yellow Submarine would be taking a one-goal lead into the second half, the hosts equalised when a Rafinha shot saved by Asenjo was poked home on the rebound by Neymar.
In the 52nd minute, Villarreal stunned the Camp Nou for the second time in the match, Giovani dos Santos dispossessing Gerard Pique before marauding into the box and slotting the ball to Luciano Vietto, who turned it into the net from close range.
Just two minutes later, Barca were level once again, as Lionel Messi's header was palmed away by Asenjo into the path of Rafinha, who had the simple task of drilling home from five yards.
The hosts then stormed back in front mere moments later when Suarez played the ball across to Messi, who duly curled a fine shot into the top corner of the Villarreal net.
Just after the hour, Victor Ruiz thought that he had pulled the visitors back following his acrobatic volley from close range, but the effort was disallowed for offside, and within seconds, Barca had a penalty appeal turned down when Asenjo appeared to have brought down Neymar in the box.
The Blaugrana were able to see the game out in the latter stages against an increasingly deflated Villarreal side, giving Luis Enrique's charges all three points to keep the pressure on Real Madrid at the top of La Liga.