The pair will meet again in Michigan on Saturday night in what will be the final pre-season match for both teams. Barca open their 2019-20 La Liga campaign away to Athletic Bilbao on August 16, while Napoli's Serie A season starts on the road to Fiorentina on August 24.
Alex Meret was called into action in the 12th minute, however, with the Napoli goalkeeper forced to drop down low and keep out a powerful strike from the dangerous Griezmann.
Napoli had started the better but Barca were on the front foot as the game developed. Another good opportunity arrived in the 19th minute when Luis Suarez found space inside the Napoli box, only to fire over the crossbar from a good position.
Neto then had to produce a brilliant save down the other end to keep out a close-range attempt from Lorenzo Insigne, before making another decent stop to keep out a Mertens effort moments later.
Napoli had another big opportunity in the 31st minute when Jose Callejon delivered an excellent low cross onto the foot of Mertens, only for the Belgian to somehow miss the post. The two players combined once again moments later, but it was the same outcome as Mertens failed to test Neto from a dangerous position.
The breakthrough arrived just before the interval when Busquets collected a pass from Riqui Puig inside the Napoli box before picking out the bottom corner with a cool finish.
Carlo Ancelotti's side were only behind for four minutes, however, with Callejon - who had taken the ball away from Junior Firpo in a dangerous area - seeing his effort deflected into the back of the Barca net by Umtiti.
Napoli might have taken the lead in the closing moments of the first half when a mistake from Umtiti presented Fabian Ruiz with a shooting chance, but Neto was on hand to make the save.
The Barca goalkeeper was also involved early in the second period when he had to be quick off his line to clear ahead of Insigne with Napoli again threatening on the break.
Rafinha was next to try his luck as the Brazil international fired over the Napoli crossbar following a mistake from Kostas Manolas, before Rakitic missed the target with a low strike moments later.
Arkadiusz Milik was one of five Napoli changes just before the hour, and the forward sent a low effort just wide of the Barca post in his first involvement as the Italians looked for a second goal.
Ousmane Dembele then came off the bench for Barca and hit the post with a rasping effort during an end-to-end period of the game in Miami, which also saw Neto keep out a powerful Milik drive.
The sheer volume of changes meant that both shapes went out of the window for spells, which continued to create opportunities as the two teams went in search of a late winner.
Milik had another glorious chance in the 76th minute after meeting a cross from Faouzi Ghoulam, but the centre-forward incredibly decided to chest the ball towards goal and it missed the target.
Barca found a second in the 79th minute, though, when Rakitic pounced on a loose ball just outside the Napoli box before arrowing his effort into the bottom corner of the net.
Napoli were incredibly fortunate to keep all 11 players on the field shortly after when Elseid Hysaj pulled Dembele's shirt when the Frenchman was through on goal.
Both teams had more opportunities late on as the hugely entertaining match threatened to bring more goals, but Rakitic's effort ultimately proved to be the winner on the night.
NAPOLI: Meret; Di Lorenzo (Hysaj 78'), Manolas (Luperto 57'), Maksimovic, Rui (Ghoulam 58'); Ruiz (Verdi 57'), Zielinski, Elmas (Gaetano 57'); Insigne, Mertens (Milik 58'), Callejon
BARCELONA: Neto; Wague (Semedo 66'), Todibo (Pique 66'), Umtiti, Junior; Busquets, Rakitic, Puig (De Jong 66'); Griezmann (Ruiz 46'), Suarez (Rafinha 46'), Perez (Dembele 66')