Three-times winners Dortmund, who last lifted the trophy in 2012, could face holders and rivals Bayern Munich, who play second division's Kaiserslautern in the last four on Wednesday, in the final on May 17 in Berlin.
Fired up by a ear-splittingly loud 80,000 strong crowd, the hosts, who beat champions Bayern 3-0 in the league on Saturday, grabbed a well-deserved 13th minute lead when Armenian Mkhitaryan rifled in after a fine solo effort.
It took a long time for Wolfsburg to recover but they came agonisingly close four minutes before the break with Junior Malanda's header hitting the base of the post and fellow Belgium international Kevin De Bruyne's shot whizzing narrowly wide.
But it was Dortmund who scored again two minutes later with Poland international Lewandowski, left unmarked in the box, drilling in a Marco Reus cutback for his 100th goal for the club in all competitions.
It will be his last chance to win another title with Dortmund, who also beat Real Madrid 2-0 last week but were eliminated 3-2 on aggregate in the Champions League quarter-finals, before joining Bayern next season.
Talented 19-year-old Malanda should have scored for Wolfsburg when he was in front of goal but ended up volleying over the bar late in the game before being taken off with a knee injury in a further blow to the visitors.
- Sports & Recreation
- Bayern Munich