Chelsea doubled their aggregate advantage when Frank Lampard scored a 21st-minute penalty and their grip on the game tightened five minutes before halftime when Benfica skipper Maxi Pereira was sent off for a second yellow card after a lunge.
Javi Garcia headed in from close range on 85 minutes to prompt an awkward finale for the Londoners before Raul Meireles struck in stoppage time.
"We knew... we were going to face a difficult game tonight and so it proved," Chelsea interim manager Roberto Di Matteo told ITV.
"The second goal was missing to kill the game off."
Asked about next opponents Barca, who Chelsea host in the last-four first leg on April 18, the Italian said: "They probably are one of the best teams if not the best team in the world."
Chelsea have now reached the semi-final for the sixth time in the last nine seasons.
However, they have made only one final and have never won the competition.
Benfica began with all guns blazing and although they came close to scoring at regular intervals, Chelsea defended superbly.
Defender John Terry, who later went off injured, was forced to clear a shot from Oscar Cardozo off the line while goalkeeper Petr Cech made a superb diving save from Pablo Aimar at the start of the second half.
Chelsea's breakthrough came when makeshift defender Garcia clattered into Ashley Cole to concede a clear penalty and Lampard scored from the spot, although Artur got a hand to the ball.
Benfica, who won the second and last of their two European Cups 50 years ago, came into the match having scored in all of their away games in the competition and seemed intent on keeping that record intact.
They finally scored after spells of pressure through Garcia's flicked header when Cech could have done better. The visitors then went close to a sensational winner which would have put them through.
However, Chelsea broke upfield and Portuguese Meireles blasted home to end his compatriots' hopes and send Stamford Bridge into delirium.