Antoine Griezmann scored twice as Barcelona drew level on points with second-placed Real Madrid by beating Villarreal in an incident-packed game.
Villarreal took the lead through Samuel Chukwueze's composed finish before Griezmann equalised moments later with a quality finish.
The France forward then pounced on a poor back pass by Juan Foyth, on loan from Tottenham, to put Barca ahead.
Villarreal's Manu Trigueros was sent off for a foul on Lionel Messi.
The result put Barcelona two points behind leaders Atletico Madrid, who are away to Athletic Bilbao in the late game on Sunday (20:00 BST).
Ronald Koeman's side, who were 12 points off the top earlier in the season, have one game in hand on Real Madrid.
One of Barca's remaining six league games is at home to Atletico on 8 May.
Latest Stories
-
The Keeper’s Music unveils Neyty with new single ‘Most High God’
2 mins -
Bawumia outlines 8 initiatives to create 4 million jobs for youth if elected president
8 mins -
Over 4,000 unpaid teachers demand payment of 16 months arrears from government
22 mins -
I’ve apologised to Gloria Sarfo over flight issues – AMAA Country Director
23 mins -
Ghana nearly lost $9 billion to arbitrary claims in last four years – Attorney General
43 mins -
FWSC responds to CLOGSAG strike declaration, urges return to negotiation
1 hour -
Members contribute to ‘transport’ national team – Volleyball Vice President laments financial struggles
1 hour -
New SHS curriculum provides adaptive learning pathways – EduWatch
2 hours -
Pay NABCO trainees – Mahama challenges Bawumia
2 hours -
Police ‘waiting for court date’ on Erastus’ case is a lie – Samson Anyenini
2 hours -
Sports facilities are better managed by institutions – UG Sports Director on maintenance of Legon stadium
2 hours -
Ghanaian businesses must align vision with strategy to mitigate ESG Risks – KPMG
3 hours -
MTN achieves 30% localisation of Scancom PLC
3 hours -
Attorney-General: Some lawyers sacrifice ethics for ‘cheap’ political gains
3 hours -
Bond market: Volume up by 12.45% to GH¢746m
3 hours