Two extra time goals saw Bayer Leverkusen to victory in an epic DFB-Pokal quarter-final tie with Werder Bremen.

Bremen had stunned their hosts with early goals from Max Kruse and Aron Jóhannsson, before Julian Brandt scored either side of half-time to drag his side level.

The match looked bound for penalties until Karim Bellarabi scored what appeared to be the winning after coming off the bench, with Kai Havertz then making sure.

Bremen get off to flying start before Brandt pegs them back

Both sides made three changes for this game following their weekend games in the Bundesliga. Leverkusen brought Lars Bender, Julian Brandt and Kevin Volland back in after their goalless draw at SC Freiburg, whilst Jérôme Gondorf and Florian Kainz joined Zlatko Junuzovic, who scored the stoppage time winner for Bremen against Schalke 04 from the bench, in Bremen’s line-up.

Bremen have beaten Leverkusen in all six previous meetings in this competition, and if the first seven minutes were anything to go by, they had the hoodoo on them. As Leverkusen struggled to clear the ball from the box, Jonathan Tah failed to make a connection and ended up kicking Kruse in the leg. The referee pointed to the spot, and Kruse sent Bernd Leno the wrong way with his penalty.

Leverkusen tried to respond as Leon Bailey tried to head in a Brandt cross, but he sent the ball into the ground and Jiri Pavlenka was able to parry the ball away. Ponderous passing the middle of the park from the home side then allowed Bremen to pounce again. Thomas Delaney found Kruse, whose diagonal high pass landed with Jóhannsson. The goal-shy striker scored his first of the season by chipping over Leno.

Bremen could have then had a third, as some wonderful football led to Jóhannsson getting the ball in the box, but his space was limited and Leno made sure his effort caused no problems. Der Werkself were stunned, but they were then able to tighten help and hold back the Bremen surge, and with just over half-an-hour gone, Dominik Kohr broke through Bremen’s high line, going all the way forward before setting up Brandt for an easy finish in the box.

It was game on, but Bremen had their chances to get a third goal, with Kainz being little short of inspirational at the end of the first half. Jóhannsson came agonisingly close to meeting one of his crosses from the left, whilst after cutting in he had a shot parried wide by Leno. The best was yet to come. After the following corner was initially cleared, it fell to Kainz a considerable distance outside the box. He volleyed on the bounce and the ball was bound for the top corner. Leno though denied him a spectacular goal with a fingertip save.

Stunner from Brandt in another high-octane half

The entertainment value was not damaged by the half-time break, with both sides going for it and the match hanging in the balance, despite there not being many shots. The next goal would by vital and Leverkusen got it. Lars Bender gave the ball to Brandt, who in stunning fashion curled the ball perfectly, leaving Pavlenka with little chance.

The hosts had their tails up and they looked the more likely to get a third goal. They could have had a penalty when Charles Aránguiz was brought down by Maximilian Eggestein, however the referee didn’t see it as a penalty and didn’t consult VAR. Pavlenka then did well to deny Kohr whilst on the ground.

Bremen remaining dangerous at times though. A cross from substitute Milot Rashica was met by Delaney however Tah bravely came into block. Kruse and Kainz then combined before the former had a shot, but that was saved by Leno.

That was the last big chance for either side as the final ten minutes passed by without major incident, leaving both sides facing the prospect of extra time with snow continuing to come down in the west of Germany.

Bellarabi off the bench to inspire Leverkusen to victory

As is often the case, the beginning of the extra 30 minutes was cagey, although Leverkusen were still playing the better football. The starlet Bailey had been quiet for much of the game but he then hit the post from a free-kick, sweetly placed around the wall with Pavlenka unable to reach it.

Eggenstein had given away that set piece opportunity, and another foul from him shortly after on Lucas Alario led to some ugly scenes as the tension boiled over and both sets of players were at each other’s throats – literally in the case of Kohr, placing his hand around Niklas Moisander's neck, with Bailey also seeing yellow for losing his head in the ruckus. They were the only players punished after a long VAR delay, Eggestein perhaps lucky not to see a quick second yellow as well.

In the second half of extra time, the match appeared to be meandering towards penalties, until Ishak Belfodil gave away a free-kick. Bailey this time chose against going for goal, instead placing it into the box. Alario heads the ball down, for Bellarabi, with his first touch after coming off the bench, squeezed the ball past Pavlenka at the near post.

Bremen needed to equalise and the game really opened up, with Bellarabi taking advantage and having another shot saved by Pavlenka. At the other end Belfodil went over with an attempt, but Leverkusen would make sure of their progress. Bellarabi was involved again, crossing for Havertz to put the ball home. They had finally beaten in the Pokal, and had their place in the semi-finals booked.