Messi scored a stunning individual goal, had another effort ruled out for handball and won a penalty, which was converted by Luis Suarez, as Barca booked their place in the last eight for the 13th consecutive season.
Clement Lenglet opened the scoring at Camp Nou in the 10th minute before Messi beat several Napoli players and fired past David Ospina for a wonder goal. Suarez made it three after Kalidou Koulibaly fouled Messi in the area.
Lorenzo Insigne pulled one back for Napoli from the penalty spot in first-half stoppage time but Barca saw out the second half to seal a 4-2 aggregate win.
An otherwise disappointing season can still finish on a high if Barca can win the Champions League. They may not be the outright favourites but with Messi on form and one-off games from here on in, there’s no reason they can’t end a five-year wait for Europe’s biggest prize. Failure to do so would mean a first trophy-less season since 2007-08.
Messi’s the key but Frenkie de Jong could also be crucial. He was missed in the La Liga run-in but is fit again and was one of the best players on the pitch against Napoli.
Barca will also be relieved that Messi, Antoine Griezmann and Nelson Semedo all avoided bookings which would have seen them suspended for the quarterfinal with Bayern. UEFA will now wipe all previous yellow cards from the records.
Barca were slow getting started — Dries Martens hit the bar in the second minute — and there were some familiar frailties on show at times. They lacked pace, gave up chances and failed to keep a clean sheet. Bayern will certainly see plenty of weaknesses to expose.
Manager rating out of 10
7 — Quique Setien’s options were limited with six first-teamers absent, so he didn’t have many decisions to make in terms of personnel. That said, his failure to give any game time to Riqui Puig or Ansu Fati was a bemusing one.
Player ratings (1-10; 10 = best, players introduced after 70 minutes get no rating)
GK Marc-Andre ter Stegen, 6 — Didn’t have too many tough saves to make but was good in the air with his fists when Napoli turned to crosses.
DF Nelson Semedo, 7 — A lively performance packed with attacking intent. At one stage in the first half, he beat four Napoli players, only to see the move fizzle out due to a lack of options ahead of him.
DF Gerard Pique, 6 — Started slowly but led Barca in the second half to ensure they didn’t switch off and let Napoli back into the game.
DF Clement Lenglet, 7 — A solid performance at the back and a really well-taken header to open the scoring.
DF Jordi Alba, 6 — Got forward and linked well with the attackers without having one of his most effective games.
MF Ivan Rakitic, 5 — Started well, setting up the first goal and shooting wide from distance, but dropped off as the game went on. Conceded the penalty for Napoli’s goal and will likely drop out of the side when Arturo Vidal and Sergio Busquets return from their suspensions.
MF Sergi Roberto, 6 — Did not do a lot wrong but wasn’t as involved as a Barca midfielder should be.
MF Frenkie de Jong, 8 — A brilliant display from the Dutchman who will be crucial in the final eight. Denied a brilliant assist when Messi’s goal was ruled out for a questionable handball.
FW Lionel Messi, 9 — Barca may not be the best team in the Champions League this season but they still have the best player. Only needed 45 minutes to settle this tie and then conserved himself in the second half.
FW Antoine Griezmann, 5 — A fairly anonymous performance on his first outing since he got injured against Real Valladolid on July 11.
FW Luis Suarez, 6 — A great finish from the penalty but not a lot else to report.
MF Monchu, N/R — The Barca B midfielder came on for his first-team debut in the 84th minute, replacing Griezmann.
DF Junior Firpo, N/R — Thrown on in stoppage time in place of Suarez.