Sebastian Kehl fired a spectacular long-distance volley in extra time to give Borussia Dortmund a 3-2 victory over Hoffenheim on Tuesday and a place in the semi-finals of the German Cup. Earlier, Ricardo Rodriguez converted a second-half penalty to allow Wolfsburg to advance with a 1-0 victory over Freiburg. Dortmund played without central defender Mats Hummels and forward star Marco Reus, both injured, but took the lead in the 19th through defender Neven Subotic. Hoffenheim's Andreas Beck (left) challenges Borussia Dortmund midfielder Henrikh Mkhitaryan (right) Erik Durm (left) and Hoffenehim forward Kevin Volland (right) both jump for the ball on Tuesday night . Dortmund's Serbian defender Neven Subotic loses his man to give his side the lead 1-0 against Hoffenheim . Subotic jumps in the air and celebrates scoring for Dortmund in the quarter-finals of the German Cup . Volland runs with the ball for Hoffenheim and equalises for his side soon after against Dortmund . Hoffenheim forward Roberto Firmino chips Dortmund goalkeeper Mitchell Langerak to make it 2-1 . Kevin Volland's volley from a corner in the 21st and Roberto Firmino's chip in the 29th after being gifted the ball by Subotic turned the game to Hoffenheim's favor but Dortmund came out stronger after the break. Pierre-Emerick Aubameyang finally notched the equalizer for Dortmund with a powerful header from a cross by Eric Durm. Both teams missed chances to win it within 90 minutes, before second-half substitute Kehl fired in the winner from 25 meters (yards) in the 107th. Dortmund's Ilkay Gundogan (left) tussles for the ball with Firmino during the German Cup quarter-final clash . Firmino rises highest to win the ball ahead of the oncoming Gundogan during the German Cup quarter-final . Dortumind's Greek defender Sokratis Papastathopoulos (left) hassles Volland (right) for the ball on Tuesday . Dortmund's Pierre-Emerick Aubameyang heads home a goal to bring the scores level at 2-2 on Tuesday night . Aubameyang celebrates scoring his side's equalising goal in the German Cup tie against Hoffenheim . Dortmund boss Jurgen Klopp (left) punches the air in celebration after Aubameyang's equalising goal . Dortmund's Marcel Schmelzer (left) and Hoffenheim's Volland (right) compete for the ball on Tuesday night . 'I just blasted it. It was a drop kick and I was fortunate that it bounced inside off the post,' Kehl said. With the win, Dortmund retained its hopes of rescuing an otherwise poor season. Rodriguez drilled a left-footed shot from the spot inside the post in the 72nd minute, beating his Switzerland teammate and Freiburg goalkeeper Roman Buerki. Buerki had managed to get his fingers on a shot by Vieirinha to turn the ball onto the crossbar late in the first half. Rodriguez also made a vital late clearance when he blocked a shot by Freiburg's Mike Frantz that was heading for an empty net. On Wednesday, Arminia Bielefeld hosts Borussia Moenchengladbach and Bayern Munich travels to Bayer Leverkusen. Veteran midfielder Sebastian Kehl, on as a substitute, celebrates scoring a stunning volley on Tuesday . Kehl is mobbed by his Dortmund team-mates after scoring the winning goal against Hoffenheim .
Sebastian Kehl scored in extra time to edge Borussia Dortmund past Hoffenheim 3-2 in the German Cup quarter-finals .
Dortmund had taken an early lead in the 19th minute through Neven Subotic's goal before Kevin Volland equalised for the visitors .
Roberto Firmino then gave Hoffenheim the lead with a superb chipped shot before Patrick Aubameyang pulled Dortmund level .
In extra time, Kehl hit a wonderful volleyed effort from outside the box .