The Catalan outfit were without both Lionel Messi and Luis Suarez through injury and suspension respectively, but Luis Enrique's side are now on course for the semi-finals of the Spanish Cup following the away victory.
The first half-chance of the match came in the seventh minute when Bilbao's Inaki Williams beat his full-back before delivering into the feet of Markel Susaeta, but the attacker just could not slip Dani Alves, who managed to make the interception.
Barcelona struggled to settle in the opening 15 minutes, but they came close to taking the lead in the 16th minute when Neymar curled one towards the top corner, only for Iago Herrerin to tip the attacker's effort just over the crossbar.
Herrerin could do nothing two minutes later, however, when Munir El Haddadi turned home a cross from Ivan Rakitic as Barcelona put together a 10-pass move to take the lead in the 18th minute of the quarter-final.
The visitors had their second seven minutes later when a pass from Sergi Roberto allowed Neymar to nip in ahead of the Bilbao goalkeeper before finishing into an empty net. Herrerin was at fault, but the stopper was not helped by the lack of alertness from his back four.
Bilbao's best chance in the latter stages of the first period fell to Javier Eraso, but the youngster could only fire over the crossbar from distance as a lively opening 45 minutes ended with Barcelona leading by two goals.
© Getty Images
Munir had a chance to make it 3-0 moments into the second period, but the striker's chipped effort was collected by Herrerin, before Williams and Eraso took it in turns to come close for Bilbao before the 50-minute mark.
The referee had a tough time in the 20-minute period that followed as late challenges continued to arrive, but both struggled to create clear opportunities as the second half gathered pace.
Bilbao made all three of their permitted changes before the 70th minute, but the alterations failed to have the desired impact as Barcelona continued to dominate possession of the ball in the Basque country.
Sabin Merino had an outstanding opportunity to net late on, but the Bilbao midfielder's near-post header was kept out by Marc-Andre ter Stegen. The hosts were not finished, however, and registered in the 89th minute when Aduriz collected a short pass from Mikel San Jose before flashing his effort into the corner of the net.