Iker Muniain, Igor Gabilondo and Javi Martinez scored the Basque side's goals in a 15-minute spell in the run-up to half-time, before Iranian midfielder Javad Nekounam scored a consolation penalty late on for Osasuna.
The visitors had been reduced to 10 men by the 70th-minute dismissal of Roland Lamah for a second bookable offence.
Osasuna created the first noteworthy opening after 12 minutes as Punal's free-kick found Nino in the box and he fired a left-foot shot over the bar.
Osasuna defender Sergio then managed to deflect a 12-yard Markel Susaeta shot to safety midway through the half, with Roversio clearing Susaeta's resulting corner.
Both teams had a player booked in the space of just over a minute as Nekounam and then Andoni Iraola of Athletic were shown the yellow card, before home goalkeeper Gorka Iraizoz was forced to parry a 25-yard drive from Nekounam in the 28th minute.
The home side made the breakthrough on the half-hour as target man Fernando Llorente found Muniain, who steered the ball in from six yards.
Athletic doubled their lead on 37 minutes as Gabilondo fired home from close range, and Osasuna's disappointing half deteriorated further when Brazilian defender Roversio went off injured in the 41st minute, to be replaced by Lolo.
Andres Fernandez denied Bilbao a third by tipping wide Ander Iturraspe's right-foot drive from 12 yards, while Iraizoz was able to palm over Sergio's header from a corner at the other end.
The game was effectively over when Bilbao scored a third in first-half stoppage time, Martinez heading home Iraola's corner from six yards.
Oscar De Marcos fired wide the first opening of the second half for Bilbao before Lamah dragged a shot wide of Iraizoz's left-hand post in the 68th minute.
Two minutes later Lamah's night was over however as a foul on Muniain resulted in him being shown a second yellow card, the first having been issued in the 63rd minute.
Fernandez tipped a Jon Aurtenetxe shot around the post with 12 minutes to go and De Marcos was off-target soon afterwards.
Osasuna notched a consolation in the final minute when Martinez was penalised for a handball and Nekounam tucked away the spot-kick.