They went ahead against the run of play when David Navarro turned Jordi Alba's cross into his own net.
Bottom-of-the-table Levante hit the woodwork through Jose Luis Morales while Giuseppe Rossi forced a fine save from Claudio Bravo.
Luis Suarez's 20th league goal of the season sealed the points.
Barcelona have one game in hand over second-placed Atletico Madrid, who had drawn level on points after beating Eibar 3-1 on Saturday.
This was a far from vintage Barca performance, but they have now won their past 10 league and cup games. They have also equalled the Spanish record of 28 matches unbeaten.
Levante meanwhile are five points from safety.
Relive the action from the Ciutat de Valencia
Barcelona celebrated boss Luis Enrique's 100th match in charge with a laboured win over Levante to go three points clear at the top of La Liga.