Gaizka Toquero surprisingly put the Basques in front after nine minutes, before Yaya Toure restored parity seconds after the half-hour mark.
Barca took the lead when Lionel Messi added the second nine minutes after the interval, and Bojan Krkic ensured the Catalans' superiority four minutes later.
Xavi put the icing on the cake in the 64th minute to complete the rout that earned the Spanish giants their 25th cup title.
Barca will face Manchester United in the UEFA Champions League final, and are on course to wrap up the Primera Liga trophy.
Head coach Josep Guardiola would be the youngest boss of all-time to claim a treble should his team win the other two competitions.
Line-up Changes
Guardiola's side had to do without influential duo Andres Iniesta and Thierry Henry, who were sidelined due to injury, and Bojan subsequently was included in the starting eleven.
Eric Abidal also missed the game through suspension, and thus skipper Carles Puyol was deployed as a left-back and Toure as a centre-half.
Toquero hit the opener after heading home a precise corner-kick.
Samuel Eto'o, who wasted a host of clear-cut chances in the game, was close to notching an equalizer for Barcelona, but the ball was caught up between his feet when he was about to round off a strike.
Toure leveled when he cannoned a right-footed shot into the net, allowing his teammates to start the second half on level terms.
Upper Hand
In the second period, the home side got the upper hand.
Messi squandered two close opportunities before netting the second, and shortly after, Bojan astoundingly ended a counter attack with a magnificent goal.
Xavi completed the drubbing after converting a free-kick.
It's the second time the two teams meet in the final, after Bilbao beat Barca 1-0 in 1984.
First goal
Second goal
Third goal
Fourth goal
Fifth goal