Martin Braithwaite, Philippe Coutinho and Sergio Busquets returned to Ronald Koeman's line-up, while Levante opted for Mickael Malsa ahead of Ruben Rochina.
The visitors nearly took a surprising lead on 12 minutes when Jorge De Frutos managed to break the offside trap, but he was unable to beat Marc-Andre Ter Stegen in a one-on-one situation.
Barcelona had to wait until the 21st minute for their first opening when Messi's free-kick found Antoine Griezmann, who saw his header turned away by Aitor Fernandez.
Messi was presented with a chance of his own a few minutes later, but the Argentine was unable to steer his header on target from Jordi Alba's cross, which also proved to be the final clear-cut opening of the half.
With the hosts struggling to carve out chances, Koeman re-shuffled the pack as Busquets made way for the attacking Pedri on the hour mark.
Barcelona should have been ahead on 72 minutes when un-marked Braithwaite met an inviting corner, but the Danish striker somehow headed wide.
The hosts would not be denied four minutes later as Messi collected a pass from Frenkie de Jong before drilling the ball past Fernandez.
Levante failed to carve out any clear-cut chances in the latter stages of the half, as the Catalans get their campaign back on track although they only moved up to eighth spot.