Champions Barca temporarily went three points ahead of Real Madrid as Neymar and fellow South Americans Lionel Messi and Luis Suarez combined to see off an in-form Villarreal.
Real then produced a ruthless first-half display to thrash already-relegated Granada 4-0 to remain on course for a first league title in five years.
Real are level on 84 points with Barca, who lead the standings due to their superior head-to-head record. Real have a game in hand, however, and will win a first domestic title since 2012 if they take seven points from their remaining three games.
Messi scored twice to take his tally to 51 goals in all competitions but it was Neymar who stole the show.
The Catalans’ hopes of winning a third straight title rest on Real Madrid losing one of their remaining games.