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.
“For us today it was kind of a reward for all our efforts in the past few weeks,” Dortmund coach Juergen Klopp, whose team beat both Real Madrid and Bayern Munich last week, told reporters.
“We did a lot things well but we had an opponent who was fresh and played great football. We had to do a lot of running to close the spaces and it was hard.”
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 some time for the visitors 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.
“You could see the difference between us and Dortmund and how cold blooded they were in front of goal,” Wolfsburg coach Dieter Hecking said. “We had several great chances and did not use them.”
(Reporting by Karolos Grohmann, editing by Pritha Sarkar)