Quique Setien's side were insipid in the first half and deservedly went behind to Dries Mertens' superb strike after 30 minutes at the Stadio San Paolo.
Napoli lost Mertens to injury early in the second half and their advantage was erased before the hour mark when Griezmann, who had previously cut an isolated figure in attack, thundered home after a flowing move.
Mertens froze ter Stegen ❄️ pic.twitter.com/LlxgKwqQdy— Bleacher Report Live (@brlive) February 25, 2020
The hosts squandered two golden opportunities to restore their advantage soon after, with Barca ultimately holding on despite Arturo Vidal's late dismissal to take a precious away goal back to Camp Nou in three weeks' time.
After a quiet opening, the game burst into life after 30 minutes courtesy of a moment of magic from Mertens.
Piotr Zielinski picked out the Belgium international on the edge of the penalty area, where he took a touch and whipped a sumptuous finish past Marc-Andre ter Stegen to put the hosts ahead.
They almost doubled their advantage before the interval, but Kostas Manolas flashed a close-range effort past the post.
Barca were a team reborn at the start of the second period and pulled level in the 57th minute, Griezmann slamming home Nelson Semedo's low cross from eight yards.
Ter Stegen twice denied Napoli soon after, first getting down well to paw away Lorenzo Insigne's effort and then racing off his line to block Jose Callejon's strike.
The game ended on a sour note for Barca, with Vidal seeing red for quick-fire bookings – the first for hauling down Mario Rui before clashing heads with the Napoli full-back – and Gerard Pique limping off after landing awkwardly.
What does it mean? Barca bounce back from first-half horror show
Given they recorded just three touches inside Napoli's penalty area in the first half, Barca cannot grumble too much at not taking a lead back to Catalonia.
They were much improved after the break, but it was the hosts who carved out the clearest opportunities to score a second. You suspect Gennaro Gattuso's side might live to regret those misses.
Mertens too hot to handle
The diminutive forward was a constant thorn in Barca's side until his untimely departure due to injury shortly after the break. He scored a fine goal and drew a foul from Sergio Busquets that resulted in a yellow card, ruling him out of the second leg.
Rakitic off the pace
The Croatia midfielder offered little at the heart of Barca's midfield and was unsurprisingly hauled off after just 56 minutes. It is perhaps not a coincidence that his side pulled level within a minute.
Should Serie A fixtures go ahead this weekend amid coronavirus fears, Napoli will host Torino on Saturday. Barca, meanwhile, travel to Real Madrid a day later in what promises to be a mouth-watering Clasico.