Saturday’s match at Estadio El Sadar was a tight affair until substitute Marcus Rashford dropped a pinpoint cross on to the head of striker Robert Lewandowski.
Five minutes later midfielder Fermin Lopez threaded a pass through the Osasuna defence for Ferran Torres to slot beyond goalkeeper Sergio Herrera.
Osasuna replied almost instantly as Abel Bretones’ wonderful cross was headed home by Raul Garcia.
Barcelona held on to take their winning streak in the league to 10 games.