Barca needed a fine second half performance from substitute Isaac Cuenca to help them to win, while Leo Messi scored his side's two goals in a very difficult game.
Barcelona's Lionel Messi celebrates after he scored a penalty against Levante during their Spanish first division soccer match at the Ciudad de Valencia Stadium in Valencia, April 14, 2012.
Barca coach Pep Guardiola rested Andres Iniesta ahead of next week's Champions League semifinal away Chelsea, but saw how his side struggled to find their game against a side that has already beaten Real Madrid this season.
Playing on a bumpy pitch with long grass, which did little to help Barca's passing game, Levante were well organized in defense and looked to use their pace on the break.
Pedro Rodriguez and Thiago Alcantara had good chances for Barca before Levante took the lead from the penalty spot. Barca goalkeeper Victor Valdes failed to hold a cross and when the ball was fired back into the penalty area, Sergio Busquets instinctively raised his arms to protect himself and committed a clear handball.
Jose Barkero made no mistake and his side allowed Barca few chances before the break.
Winger Isaac Cuenca replaced Xavi Hernandez at halftime as Barca looked to use the full width of the pitch, but Levante had the first chance of the second half as Barkero failed to take advantage of a great chance to break.
Cuenca played his part in Barca's equalizer, ceding the ball to Alexis Sanchez, who in turn passed to Messi. Messi then scored with a fine curling shot after 66 minutes.
Messi then put Barca ahead after Cuenca won a penalty after being pushed over in the Levante penalty area. Messi fired home his 41st goal of the season to give Levante keeper Mnua no chance.
Former Barca midfielder Xavi Torres almost equalized with virtually the last kick of the game, but Valdes got down to make the save.