Xavi should have put Barca ahead in the 14th minute, but it was the hosts who struck first, to everyone's surprise. Just one minute before half-time Bilbao newcomer De Marcos cut in from the left and made it 1-0 with a shot which took a wicked deflection off Barca captain Carles Puyol.
The same as in May's King's Cup final - in which Barca thrashed Bilbao 4-1 after going a goal down - Josep Guardiola's team soon resumed control.
Xavi made it 1-1 in the 58th minute with a clever near-post drive, after good work from Seydou Keita and Pedro.
And 11 minutes later Pedro, one of the many youth products given their wings by Guardiola, won the game with a fierce drive from outside the area which again beat Iraioz on his near post.
However, the Bilbao keeper finished the match on a high note by turning a trademark Alves blast onto his crossbar, as Barca cruised their way to the final whistle.