Barcelona will face AC Milan in the semi-finals of the Champions League after a convincing win over Benfica.
Ronaldinho celebrates scoring Barcelona's opening goal
Ronaldinho missed a penalty early on, but made up for it by driving home the opener after a cross by Samuel Eto'o.
Barcelona missed a catalogue of chances and nearly threw away their lead when Sabrosa Simao and Georgios Karagounis both went close in the second-half.
But, right at the death, Eto'o got the second, chesting down a Juliano Belletti cross before smashing home.
The match got off to an explosive start when Barcelona were awarded a penalty with less than five minutes played.
Armando Petit was adjudged to have handled Mark van Bommel's cross and Ronaldinho stepped up to take the kick.
He struck the shot firmly to Marcelo Moretto's right, but the keeper got across brilliantly to palm it away.
Barca continued to pile on the pressure, Henrik Larsson breaking down the right to fire in a useful cross which Moretto held.
Deco was booked for leaving a foot in as he ran in to challenge the keeper.
Just as Benfica looked to have weathered the storm, the visitors gifted Barcelona the opening goal on 19 minutes.
Attempting a hefty clearance, Beto completely missed his kick and Eto'o skinned Cleber Beraldo Anderson with ease before picking out Ronaldinho.
The Brazilian atoned for his penalty miss with a clinical finish into the left-hand corner for his seventh Champions League goal of the campaign.
Five minutes later Ronaldinho went close again from a direct free-kick, after Beto handled just outside the box.
The visitors' defence showed signs of crumbling under pressure and just before half-time a terrible mistake by Leonardo Leo nearly let in van Bommel.
The Dutchman struck his shot firmly, but Moretto saved superbly with his right boot to keep his side in the tie.
Samuel Eto'o made the game safe with a second goal
Benfica's best chance of the first half came in stoppage time from a free-kick, after Ricardo Rocha went down heavily.
The ball was pumped into the box where Leo was lurking, but the defender was unable to control his shot.
Barca began the second half as they ended the first with Eto'o mounting a series of raids down both wings.
But the Cameroon star earned a booking after going down theatrically in an attempt to win a penalty.
Then on the hour Benfica's Sabrosa Simao missed a golden chance to equalise.
The visitors broke quickly, Fabrizio Miccoli's cross found Simao unmarked in the box, but the skipper screwed his first-time effort into the side netting.
Substitute Karagounis also went close for the visitors with a 30-yard drive, which Victor Valdes could only palm away.
But in the dying minutes Eto'o got the goal he deserved, taking Benetti's clever first-time cross on his chest before smashing a half-volley past Moretto.
Barcelona boss Frank Rijkaard on meeting former club AC Milan in the semi-finals:
"I think it will be a very interesting game against a very strong team.
"Personally, for me, I already played against Milan a lot of times as a player and as a coach - so it's not that new for me. It's just another game.
"We knew from its previous results that Benfica was good away from home. They created one or two dangerous moments which, thankfully, weren't goals.
"I think the team deserve congratulations for this win, which is a fine success for us."
Benfica coach Ronald Koeman:
"Barcelona were superior in all departments.
"In the second half we controlled the game more and had a couple of chances to equalize.
"It's hard enough to play against Barcelona. It's harder when you've got the referee against you."
Barcelona: Valdes, Belletti, Puyol, Oleguer, Van Bronckhorst, Van Bommel (Edmilson 84), Iniesta, Deco, Larsson (Giuly 86), Ronaldinho, Eto'o.
Subs Not Used: Jorquera, Maxi Lopez, Ezquerro, Sylvinho, Rodri.
Booked: Deco, Eto'o.
Benfica: Moretto, Ricardo Rocha, Luisao, Anderson, Leo, Beto (Robert 72), Petit, Fernandes (Marcel 82), Simao, Miccoli, Geovanni (Karagounis 55).
Subs Not Used: Quim, Mantorras, Karyaka, Nelson.
Booked: Manuel, Luisao, Anderson.
Ref: Lubos Michel (Slovakia).