Barca dominated the match from start to finish but were held at bay by a capable and well-organised Osasuna defence.
Barcelona had 80% of the possession throughout the match and produced over 20 shots before Raphinha was able to break the deadlock 70 minutes into the game.
While the result was never really in doubt, Raphinha made it certain when he added a second goal in the 86th minute.
Ferran Torres had thought he had broken the deadlock as early as the 23rd minute before his goal was ruled out for Raphinha being offside in the buildup.
There were times when Osasuna looked threatening on the counterattack, but they struggled to convert the pressure into chances, producing just three shots on goal throughout the game.
Elsewhere in LaLiga on Saturday, Leandro Cabrera's 53rd-minute strike was enough to secure Espanyol a 1-0 win over Getafe at Coliseum Alfonso Perez.
At Estadi de Son Moix, Mallorca players scored all four goals in the hosts' 4-1 win over Elche.
Manu Morales opened the scoring in the fifth minute before a Pablo Maffeo own goal levelled matters in the 21st minute.
Omar Mascarell eventually restored the lead with a goal in the 82nd minute before Vedat Muriqi secured the result seven minutes later.
Atletico Madrid squeezed past Valencia 2-1 in a back-and-forth encounter at the Estadio Metropolitano.
Koke put them in front with a goal in the 17th minute before Lucas Beltran put Valencia back on level terms in the 63rd minute.
Antoine Griezmann scored the winner in the 74th minute after getting on the end of a lovely long pass from Marc Pubill to smash the ball into the top corner on the half volley.