Barcelona reached the Champions League final, despite losing 3-2 at Bayern Munich on Tuesday, with an aggregate 5-3 win and will face either Real Madrid or Juventus in Berlin next month.
Barca's Brazil forward Neymar scored twice in the first half to kill off Bayern's chances following the Spanish side's 3-0 first leg win at the Nou Camp last week.
Neymar was twice picked out by striker Luis Suarez, after the hosts' seventh minute lead through Medhi Benatia had briefly reignited the German side's hopes.
Bayern struck back with second-half goals from Robert Lewandowski and Thomas Mueller but were still left needing another three to qualify for the showpiece match.
Barcelona, who are in an eighth European Cup final, will make their first appearance since 2011, when they won the title under current Bayern coach Pep Guardiola, and face either their Spanish rivals or the Italian champions who play on Wednesday.
It was Barca's first Champions League away loss this season as Bayern ended a four-game losing run in all competitions but Guardiola's aura of invincibility has taken a hit after failing for the second season to reach the final with the German club.
Barcelona promised a goal in Munich and they almost got in after five minutes through Ivan Rakitic but Bayern keeper Manuel Neuer palmed the Croat's shot wide at full stretch.
Two minutes later Bayern got the early goal they needed when Benatia was left completely unmarked to head home.
The Spaniards survived a few minutes of intense pressure and responded in style when Lionel Messi, pulling the strings from a deep position, sent Uruguayan Suarez through to feed Neymar for an easy tap after a dazzling South American combination.
Barca keeper Marc Andre ter Stegen then stopped Bayern retaking the lead on the night by plucking Mueller's header from the top corner as the Bavarians tried to hit back quickly.
Neymar then all but ended Bayern's hopes by drilling a low shot home in the 29th after Suarez's cross from the right, with the hosts going into the break needing five goals to advance.
Barcelona eased off early in the second half, with Suarez substituted with a minor muscle problem, and Bayern's Robert Lewandowski notched an equaliser just before the hour, shaking off Javier Mascherano and sending Ter Stegen the wrong way.
Mueller added another in the 74th but it was too little too late for the home side, who were missing several key players, including injured wingers Arjen Robben and Franck Ribery.