The Argentinian went one better than great rival Cristiano Ronaldo's hat-trick earlier in the evening as he was part of a Barca side who utterly outclassed woefully inferior opposition.
His second was his 200th goal in La Liga, another landmark feat in his ever-growing list of achievements.
The fourth brought his total in the league this term to 33 and he is on track to match last season's barely-believable 50. Seventeen more are needed from 17 games; only for Messi would that be considered simple.
And next up for him, albeit in the Copa Del Rey semi-finals: Real Madrid at the Bernabeu on Wednesday.
Pedro was also on target for the Catalans, while Raoul Loe briefly levelled for Osasuna before Alejandro Arribas' sending-off after 27 minutes made their task an almost impossible one.
The win preserved Barca's convincing lead over at the top of the Primera Division, while Osasuna remained in relegation danger.
Barcelona started quickly and Thiago Alcantara brought a fine parry out of goalkeeper Andres Fernandez after only four minutes.
They went ahead seven minutes later through a predictable source.
Xavi's exquisite pass from the left played in Messi and he rounded Fernandez to score.
The visitors levelled in the 23rd minute as a clearance fell to Loe on the edge of the area and his low shot with the outside of his left foot found the bottom-left corner, with keeper Victor Valdes perhaps unsighted.
Parity last just five minutes, though.
Arribas conceded a penalty with a handball in the area and was sent off for a second yellow card before Messi stepped up to score low into the corner.
And this time there was no way back for Osasuna.
Messi was denied a hat-trick by a post as his header from a Dani Alves cross came back off the frame of the goal, but Pedro had better luck five minutes before the break.
Again Alves was the provider and his ball in from the right was swept home by the Spain forward.
But this match, yet again, was about Messi and he got his hat-trick in the 56th minute, running on to a pass from David Villa down the left of the area, rounding Fernandez and sliding the ball into the empty net.
Three became four two minutes later.
Villa's pull-back from the left byline picked out Claro Adriano in the area and his pass across goal was flicked in by Messi.
The forward has scored five in one match before, against Bayer Leverkusen in the Champions League, but this time Osasuna, who defended desperately to the end, were spared further embarrassment.