Borussia Dortmund stayed top of the Bundesliga with a hard-fought, tactically disciplined 1-0 win over a resilient Eintracht Frankfurt side at Signal Iduna Park.
Niko Kovač's men dominated the territorial battle, enjoying 58.4% possession
and firing 18 shots, but struggled to break down a compact Frankfurt block that racked up 48 clearances. The breakthrough finally arrived in the 80th minute, and Kovač's bold changes were behind it. Substitutes Maximilian Beier and Jobe Bellingham added verticality and edge, combining brilliantly to unlock the stalemate and secure three vital points in the title race.
Advertisement
Here's how Dortmund's players rated:
Goalkeeper & Defence
Gregor Kobel - 8/10A solid, reliable display from the Swiss international. He stayed alert to make three important saves, most notably denying Farès Chaïbi early in the second half, and his distribution was key to Dortmund building from the back.
Ramy Bensebaini - 8/10Occupying the left side of Kovač's back three, the Algerian was immense. He was dominant in the air, strong in the tackle and helped keep Frankfurt's attack largely quiet.
Nico Schlotterbeck - 7/10The captain marshalled the defensive line with authority. His ability to step into midfield and break lines mattered in a game where Frankfurt sat deep, and he anchored a backline that limited the visitors to three shots on target.
Advertisement
Waldemar Anton - 7.5/10Anton provided the necessary cover on the right of the back three. Disciplined in his positioning, he denied Frankfurt space in behind and played a big part in the clean sheet.
Midfield
Julian Ryerson - 7/10Operating as the right wing-back in the 3-4-2-1, Ryerson offered his usual industry. He created two chances and had a late one of his own, firing just high, before being replaced by Joane Gadou in stoppage time.
Joey Veerman - 8.5/10The heartbeat of the team and arguably the man of the match. The Dutchman set the tempo in the centre of the pitch, constantly scanning and orchestrating Dortmund's passing moves. His pinpoint deliveries created several high-quality chances, including Guirassy's header that hit the crossbar.
Advertisement
Felix Nmecha - 7/10A busy display in the double pivot before he made way for Jobe Bellingham. Nmecha did more than keep the ball moving; he kept arriving around the box, seeing one effort saved and two more blocked as he tried to force the issue.
Daniel Svensson - 7/10Operating as the left wing-back, Svensson struggled to consistently get past Frankfurt's tight marking. He delivered a good early cross for Fábio Silva but was sacrificed in the 68th minute as Kovač went for a more attacking approach.
Attack
Marcel Sabitzer - 6/10Starting as one of the two attacking midfielders, Sabitzer worked hard between the lines, but space was at a premium against Koch and Brassier. He was part of the triple substitution in the 68th minute.
Advertisement
Fábio Silva - 7/10The Portuguese forward showed flashes of his technical quality, heading just over early on and setting up Guirassy for a first-half effort. He was largely crowded out before being replaced by Ethan Nwaneri.
Serhou Guirassy - 7/10The focal point of the attack and a constant physical handful for Frankfurt's defence. He tested Noah Atubolu twice in the first half and was unlucky not to score when his 53rd-minute header crashed off the crossbar.
Substitutes & Manager
Maximilian Beier - 8.5/10The hero of the night. Introduced in the 68th minute, Beier changed the dynamic of the attack at once. His right-footed strike from outside the box in the 80th minute was a moment of pure quality, finding the top corner to break the deadlock.
Advertisement
Jobe Bellingham - 8/10Bellingham made a huge impact despite coming on only in the 79th minute. A minute later, he provided the assist for Beier's winner, and he added smart defensive work in the closing stages to help see out the win.
Carney Chukwuemeka - 7/10Brought on for Sabitzer to add physicality and drive, Chukwuemeka did exactly that and more. He was a creative spark, setting up chances for Nwaneri, Nmecha and Ryerson shortly after his introduction.
Ethan Nwaneri - 6.5/10The teenager showed impressive composure after replacing Fábio Silva. He forced a sharp save from Atubolu almost immediately and kept the ball moving quickly in the final third.
Joane Gadou - N/AA stoppage-time (90+2) substitution to run down the clock and shore up the defence.
Advertisement
Niko Kovač - 8.5/10Kovač deserves full credit for this victory. Recognising that his starting attackers were being stifled, he changed the game with his 68th-minute triple substitution. Bringing on Beier, Chukwuemeka and later Bellingham proved a masterstroke.