Following a completely one-sided first half in which Madrid keeper Iker Casillas kept his side in the game, Pedro gave Pep Guardiola's team the lead nine minutes into the second period.
Marcelo soon hit back for a vastly-improved Madrid 10 minutes later, but the Catalans never looked in too much trouble and will face Manchester United or Schalke in the final later this month, which sees them return to the scene of their first European Cup triumph, in 1992.
Madrid, two goals down from last Wednesday's bad-tempered first leg match at the Santiago Bernabeu, were missing suspended pair Pepe and Sergio Ramos.
Coach Jose Mourinho, also banned, named an attacking line-up, with Cristiano Ronaldo, Kaka, Angel di Maria and Gonzalo Higuain all in the side.
But after a solid start, which saw Ronaldo make some promising attacking runs, Barca began to dominate.
Ricardo Carvalho, who missed the first match through suspension, cut out a dangerous ball from Lionel Messi after 20 minutes and moments later, Casillas saved comfortably from Sergio Busquets, who was allowed a free header by the Madrid defence.
Casillas then made a double save to deny Messi and must have been relieved when the Argentina forward fired wide just a minute later.
The Spain goalkeeper then did well to keep out Messi's low drive, but produced an even better save David Villa's curling effort, which was heading for the far corner.
Madrid were hardly getting a sniff and things could have been worse a minute before time, when Carvalho - already booked - hacked down Messi.
The referee waved play on, much to the annoyance of the Nou Camp crowd, in what was the last real action of the first period.
Madrid improved after the break, but Barca took the lead just as the visitors had looked to be making some headway.
The goal was all about Andres Iniesta, who played a fabulous defence-splitting ball through to Pedro for a clinical low finish from the Tenerife-born forward into Casillas' bottom right corner.
Karanka then sent on Emmanuel Adebayor and Mesut Ozil for Kaka and Gonzalo Higuain as Madrid sought a more direct approach.
Despite the goal, effectively little had changed: Madrid needed three to go through.
It looked an impossible task, but some hope was restored as Marcelo levelled the scores on the night, firing home from close range after Di Maria had hit the post and then squared the rebound for his better-positioned team-mate.
Adebayor threw his weight around up front after that and was arguably lucky to only pick up a late booking, but the Togo striker was left with an unenviable task as he fed off scraps against a Barca side happy to keep possession and run down the clock.
There was a huge cheer just before the end as Eric Abidal came on to make his first appearance since returning from an operation to rumour a tumour from his liver in March.
But there was an even bigger roar a couple of minutes later as the referee blew the final whistle to confirm Barca as Champions League finalists for the third time in six years.
The Catalans will now look for a repeat of their 1992 triumph and a fourth European Cup success in total as they return to Wembley on May 28.