Messi scores twice as Barca hit Osasuna for seven
The much-criticised Andre Gomes and Paco Alcacer also bagged doubles, whilst Javier Mascherano scored his first Barca goal in seven years with the club from the penalty spot.
Madrid have two games in hand and can move back level on points with victory at Deportivo la Coruna later on Wednesday.
Osasuna remain rock-bottom and will be relegated if Leganes beat Las Palmas on Wednesday.
Messi’s brilliance against Madrid at the weekend El Clasico kept Barca in the title race as he netted his 500th Barca goal with the last kick of the game to hand the Catalans a 3-2 win.
A huge “Thanks Leo” banner was raised before kick-off at the Camp Nou, whilst many fans imitated Messi’s goal celebration by raising Barca shirts with Messi’s name on the back in the 10th minute.
The five-time World Player of the Year responded by opening the scoring two minutes later as he pounced on an error in the Osasuna defence to stroll through on goal and lift the ball over the advancing Salvatore Sirigu.
Gomes has been the scapegoat for many of Barca’s most disappointing defeats this season.
But the Portuguese had arguably his best night in a Barca shirt as he drilled home Ivan Rakitic’s cross to make it 2-0 on the half hour.
Marc-Andre ter Stegen was Barca’s other hero from the weekend with a string of stunning saves.
However, the German international was caught out by Roberto Torres’s free-kick which brought Osasuna back into the game three minutes into the second half.
Barca, though, simply went through the gears with a four-goal burst in 10 devastating minutes.
Firstly, Gomes slotted home his second of the night after Gerard Pique’s initial effort came back off the post.
Messi then curled in his 49th goal in 47 appearances this season from the edge of the area.
And the Argentine instantly made way for 19-year-old Carles Alena to keep him fresh for Saturday’s Catalan derby at Espanyol.
Alcacer then finished on the stretch for Barca’s fifth.
And when Denis Suarez was felled in the area seconds later the cry went round the Camp Nou for Mascherano to take the spot-kick.
Rakitic obliged by stepping aside to let the Argentine take it and he smashed the ball into the roof of the net for his first goal in 319 Barca appearances.
Alcacer rounded off the scoring four minutes from time when he latched onto Suarez’s fine through ball to round Sirigu and slot into an empty net.