Barcelona bounced back from their disappointing UEFA Champions League exit at the hands of Bayern Munich with a 4-2 victory over Real Betis which has them sat 11 points clear at the top of the table and in need of just one more positive result to wrap up the Primera Liga title.
It appeared at one stage as if it would be another night to forget for the Catalan giants at Camp Nou, with Dorlan Pabon firing Betis in front less than two minutes in.
Barca offered a rapid response to falling behind, with Alexis Sanchez restoring parity with a close-range header.
Betis, though, were back in front two minutes before half-time when Ruben Perez crashed home from the edge of the box.
David Villa hauled the hosts level again on 56 minutes, and that was to be his last involvement as he made way for Messi. The mercurial Argentine required just three minutes to make his mark, curling home a sumptuous free-kick before going on to roll a second of the night into an empty net on 71 minutes to wrap up the points for Barca.
Sevilla kept their dreams of Europa League football alive for next season with a convincing 3-0 win over Espanyol, who tried their luck with a couple of wayward chances early on before Joan Capdevila handed the initiative to the home side with an 11th minute own-goal.
Sevilla midfielder Jesus Navas fired in a cross and Capdevila tried to make a block, but he ended up heading the ball into his own net from 12 yards out.
Andujar Coke then doubled the home side's lead after he linked up with Navas on the right, before Alvaro Negredo made the result safe in the 22nd minute when he slotted home Ivan Rakitic's assist.
Mallorca remain bottom of the table after only managing to draw 1-1 with Levante at home.
Real Zaragoza recorded back-to-back league wins for the first time this season as Rayo Vallecano succumbed meekly to a 3-0 setback at La Romareda.
The hosts' early pressure told after 25 minutes when Abraham's shot was harshly adjudged to have struck the hand of Jordi in the area and the referee pointed to the spot. Apono took the responsibility from 12 yards and sent the goalkeeper the wrong way.
Zaragoza needed only six minutes of the second period to extend their lead, Rodri snaffling up the rebound from close range after Helder Postiga had seen his header parried by Ruben.
Postiga was denied a goal when his header struck the post in the first minute of added time, but a third did arrive with seconds remaining when Apono fired in from 20 yards.