Bundesliga

Borussia Dortmund reached the 2025/26 DFB Cup last 16 after a penalty shootout win over Bundesliga rivals Eintracht Frankfurt.
Eintracht Frankfurt 1-1 Borussia Dortmund (Dortmund won 4-2 on pens.)
Goals: 1-0 Knauff 7' (assist: Götze), 1-1 Brandt 48' (assist: Ryerson)
Frankfurt scored early through former Dortmund youngster Ansgar Knauff, but the Black-Yellows hit back soon after the restart as Julian Brandt converted Julian Ryerson's teasing right-wing cross from close range.
Eintracht went closest to winning it inside 90 minutes when Ritsu Dōan hit the woodwork, while Jonathan Burkardt had an extra-time winner ruled out as the contest went to penalties.
Dortmund scored all four of their penalties, while Dōan missed Eintracht's second attempt and Gregor Kobel saved from Farès Chaïbi to seal a 4-2 shootout win.
>>> See all the 2025/26 DFB Cup fixtures and results
As it happened!
Kobel's the hero. Frankfurt are out, but Dortmund march on.
Cool as you like as BVB move a step closer to the last 16...
Confident from the Belgian, who keeps Eintracht's cup dream alive...
Right in the corner. Dortmund are three from three from 12 yards...
The Japanese attacker blazes his penalty over to give Dortmund a 2-1 lead...
The defender squeezes his effort beyond Zetterer...
All square after two penalties. Kobel went the wrong way...
Advantage Dortmund...
The contest ends 1-1 after 120 minutes, so it's over to the lottery of penalties to decide who will advance to the round of 16. BVB will take the first spot-kick...
Another ex-Dortmund player, Michy Batshuayi, replaces second-half sub Bahoya. That's surely been done with penalties in mind...
Some hit by the Dortmund defender. It's rising and Zetterer is taking no chances, the Frankfurt keeper flying to his right to push it away. Schlotterbeck heads over from the resultant corner.
Frankfurt think they've won it as Burkardt sticks out a leg to convert Doan's free-kick from close range, but the linesman's flag had already gone up. That all came about after a foul by Silva on Brown.
Koch does really well to adjust his body at the near post and stop Ryerson's cross from finding Guirassy. That would have been a certain goal!
Süle - a striker in his youth - jinks into the Frankfurt area before being dispossessed as he prepared to shoot. For a moment, it looked like he was going to be in!
One last push needed at Deutsche Bank Park...
Chukwuemeka pulls back an inviting cross that drifts across the six-yard penalty area for Silva to pick up. He gets the better of Zetterer and crosses for Guirassy, who sends an ambitious overhead attempt over. Tired defending from Frankfurt...
Kobel dives to his left to stop Chaïbi's rising strike form finding the top corner. He'll take some beating, if this does go to penalties...
Chaïbi goes into the book after catching Nmecha a little late. No malice in that.
Silva does really well to keep the ball in play as Dortmund threaten on the break, but his cross into the penalty area doesn't find its intended target.
Doan beats his marker to an in-swinging cross, but the pint-sized Japan international can't keep his header on goal.
Kovač tries to inject some energy into his midfield with the introduction of Chukwuemeka and Nmecha. Sabitzer and Brandt were certainly feeling it at the end of the 90.
Doan slips a pass into the penalty area for Kristensen, who whips a first-time cross into the six-yard area, but no one in a white shirt gambles. Huge chance not taken!
Four minutes go up on the fourth official's board as Silva runs in off the left and nearly catches out Zetterer at his near post.
The Frankfurt goalscorer makes way after a very energetic display against his former club. Bahoya, who hasn't scored since hitting a brace on the opening day of the Bundesliga season, is sent on. He was also on target in the DFB Cup first round.
Fábio Silva scored from the bench in Copenhagen and set up Beier's winner as a sub against Cologne last week. What's the Portuguese forward got up his sleeve today?
Desperately close to another Frankfurt goal as Doan darts inside and smashes an effort against the crossbar. Uzun then draws a flying save from Kobl with another fierce strike from outside the area.
Dortmund's top scorer replaces Adeyemi. He's got six goals this season, but none in four competitive games since 1 October...
Uzun and Skhiri - the two Eintracht players who dropped to the bench for this one - join the action. This could yet go to extra-time and penalties, remember...
Knauff latches onto a quick forward pass up the middle. He races towards the edge of the area, before testing Kobel's reflexes with a low shot across goal. Koch's attempted header from the ensuing corner also finds the BVB stopper's gloves.
Adeyemi tries to beat four white shirts, but Theate has too much muscle for the Dortmund forward. BVB come again as Ryerson forces a corner, which is cleared.
Doan rolls Svensson with a fabulous turn on the right-hand touchline. The ball's worked over to Brown, but his long-range shot bobbles harmlessly wide of the far post.
The Austrian takes an accidental stray hand to the nose as Dortmund swarm the Frankfurt penalty area. Zetterer claims Brandt's eventual cross, before Sabitzer gets back to his feet.
Frankfurt win a free-kick on the corner of the Dortmund area. Chaibi elects to go around wall, but can only find the side netting. Kobel had it covered, in any case.
What a start from Dortmund. They move the play really effectively from left to right with Svensson and Bellingham. Ryerson arrows in a peach of a low ball that travels across the six-yard area, with Brandt arriving to force it home.
Big second half of football to come in Frankfurt...
Young Anselmino's hooked after that booking at the end of the first 45, with Niklas Süle his replacement.