Bayer Leverkusen defeated Werder Bremen 4-2 in extra time here to advance to the semifinals of the German Cup for the first time in nine years.

The visitors struck first, as Max Kruse converted from the penalty spot in the 4th minute after he was fouled by Jonhathan Tah on Tuesday, reports Efe.

Must read: Barcelona midfielder Ivan Rakitic’s training ground scorcher

And before Leverkusen could digest that setback, Kruse stole the ball in midfield and delivered the ball to Aron Johansson, who chipped the ball over goalkeeper Bernd Leno to make it 2-0 for Bremen in the 8th minute.

Julian Brandt clawed one back for the hosts in the 31st minute, firing into an open net.

Don’t miss: Mario Balotelli ‘loses it’ in training

Leno made two fine stops against Bremen’s Florian Kainz before the break and the first half ended 2-1 in favor of the visitors.

The equaliser for Leverkusen came 10 minutes into the second half, again courtesy of Brandt, who connected from 20 yards out.

Leverkusen looked poised to take the lead in the 74th minute, but Dominique Kohr sent the ball straight into the midsection of visiting keeper Jiri Pavlenka and regulation time ended with the score knotted at two goals apiece.

The first scoring chance in extra time went to Leverkusen’s Leon Bailey, whose free kick bounced off the post.

Also read: Real Madrid trio scores golazos in training

With Bremen visibly running out of gas, Karim Bellarabi put the home side ahead in the 111th minute and Kai Havertz hammered the final nail in the coffin with a strike in the 118th.

Bayern Munich routed third-division Paderborn 6-0 earlier Tuesday to earn a spot in the semifinals.