The visitors came closest to finding the net early on when Joseba Llorenta headed Roland Lamah's centre against the crossbar.
An even 50 minutes followed before Celta took the lead midway through the second half when Iago Aspas met Augusto Fernández's cross and found the corner with a header.
Osasuna were then reduced to ten men in the 83rd minute when Alejandro Jose Hernandez showed a second yellow card to Alejandro Arribas.
Mario Bermejo sealed the win after the 90-minute mark by finding the net from close range.
Victory for Celta sees them pick up their first points of the season and move up to 11th in the table.