Andre Silva scored a late winner to send Eintracht Frankfurt seven points clear of Borussia Dortmund, whose top-four hopes are in tatters.
Borussia Dortmund 1-2 Eintracht Frankfurt
Goals: 0-1 Schulz (o.g. 11'), 1-1 Hummels (45'), 1-2 Silva (87')
Dortmund made an encouraging start as the returning Raphael Guerreiro crossed for Erling Haaland, only for Stefan Ilsanker to clear before the Norway striker could pounce. Guerreiro volleyed wide from 18 yards moment later, but it was Frankfurt who forged ahead when Nico Schulz inadvertently looped a header into his own goal in an attempt to clear Filip Kostic's ever-inviting cross. Silva forced a save from Marwin Hitz with a stooping header, before Haaland side-footed wide on his weaker right foot when one-on-one with Kevin Trapp. The Dortmund No.9's next effort was blocked by the advancing Trapp, but the home side did pull level on the stroke of half-time. Can nodded down Marco Reus's out-swinging corner, with Mats Hummels reacting fastest to sweep home from six yards.
Frankfurt substitute Daichi Kamada scuffed wide from 18 yards with the first meaningful attempt on goal of the second half. Luka Jovic threatened soon after, but his attempted lay-off was hooked clear in the box. Reus miscued a couple of volleys and Guerreiro fired straight at Trapp as the contest opened up. Stefan Ilsanker then had the ball in the net, but his header from a devilish Kostic free-kick was ruled out for offside following a VAR review. Haaland's luck was clearly out as he dragged wide, but Silva's wasn't. After Kamada blazed wide and Djibril Sow miles over, the Portugal international powered in Kostic's cross with three minutes of normal time remaining. Kostic almost put the seal on it, while Haaland saw a last-gasp effort hooked off the line.
- Silva's 22 league goals this season is already the second-best return for any Frankfurt player in their top-flight history, with only Bernd Hölzenbein (26 in 1976/77) scoring more.
- Only eight players have scored as many as Silva's 34 goals in 50 league games, among them Uwe Seeler, Haaland and Horst Hrubesch.
- Frankfurt (50) have already collected more points than in the entirety of last season (45).
- The Eagles have scored at least once in each of their previous 22 Bundesliga games, the longest such run for the club since 1992.
- Haaland has scored just one of his last 15 Bundesliga goals at home.
- Hummels scored his fourth Bundesliga goal of the season - a league-high tally among defenders, shared with Marvin Friedrich, Philipp Lienhart and Willi Orban.
- Schulz scored his first own goal in 144 Bundesliga appearances.
Watch: Silva: "It feels so good to score the winner"
Dortmund: Hitz - Can, Akanji, Hummels, Schulz (Reinier 80') - Bellingham (Dahoud 56'), Delaney - Hazard (Knauff 63'), Reus (c) (Reyna 80'), Guerreiro - Haaland
Unsued subs: Bürki, Morey, Brandt, Meunier, Piszczek
Out: Moukoko (shin), Sancho (thigh), Schmelzer (knee), Witsel (Achilles' tendon), Zagadou (knee)
Coach: Edin Terzic
Frankfurt: Trapp (c) - Tuta, Ilsanker, N'Dicka - Durm (Chandler 74'), Sow, Rode (Barkok 86'), Kostic - Younes (Kamada 46') - Silva (Zuber 89'), Jovic
Unused subs: Schubert, Bördner, Hrustic, Willems
Out: Ache (hamstring), Hasebe (suspended), Hinteregger (thigh), Toure (pelvis)
Coach: Adi Hütter
Watch: Trapp: "It's an unbelievable feeling to win in Dortmund"