Everton were sharper from the start and won a penalty when Calvert-Lewin was tripped by Liverpool keeper Alisson
The Catalans had a shaky start but took the lead in the 10th minute with a powerful header from a corner by Clement Lenglet before Messi scored a superb second in the 23rd, seeing off four defenders to curl the ball into the far bottom corner.
Messi had the ball in the net again soon after following a superb team move but the goal was harshly ruled out for handball by the Argentine following a VAR review, although Messi later won a penalty which Luis Suarez converted for Barca's third.
Napoli got one back when Lorenzo Insigne converted a spot kick at the end of the first half and were the better side after the interval but Barca survived to set up a mouth-watering clash with Bayern in the Final Eight tournament in Lisbon next Friday.