The 16-year-old cancelled out Roberto Torres's opener just six minutes after coming off the bench, before fellow substitute Arthur buried a well-taken second goal for the defending league champion.
Torres sealed a point from the penalty spot after a Gerard Pique handball, with the result likely to add further pressure to Barcelona head coach Ernesto Valverde.
Valverde was again unable to call upon the injured Lionel Messi, Luis Suarez or Ousmane Dembele and left Ivan Rakitic on the bench.
The match was preceded by a minute's silence for Luis Enrique's daughter Xana, who died this week after a five-month battle with bone cancer.
Torres put Osasuna ahead in the seventh minute with the first shot of the match, thumping a volley past Marc-Andre ter Stegen at the left-hand post after being left completely unmarked.
It proved to be the only effort on target of the first half, as Barca produced next to nothing of note with its dominance of possession, although Jordi Alba felt he should have won a penalty.
Fati came on for Nelson Semedo at the break and Valverde's reshuffle paid dividends, the 16-year-old converting Carles Perez's cross with a fine header.
Barcelona was suddenly galvanised and 13 minutes later it was 2-1, Arthur cutting back onto his right foot and drilling past goalkeeper Ruben Martinez from just inside the area.
Brandon wasted a glorious chance to level when he made a mess of a free header, but Torres made no such mistake from 12 yards after Pique was penalised for blocking a cross with a raised arm.
Barca hosts Valencia on 15 September (AEST), when it hopes to have Messi available again. Osasuna travels to Real Valladolid a day later.