Highlights
90'
+ 4
Cologne go 11th
Following a cagey first half, the match came to life after the interval as Cologne’s clinical finishing took them past Frankfurt, who struggled to create any chances of note in the final third. The Billy Goats move on to 26 points, level with Gladbach in 10th, and are now nine points clear of the relegation zone.
Full-time
Shkiri at the double
© IMAGO/Revierfoto/IMAGO/Revierfoto
88'
Top scorer in 2023
That's five Bundesliga goals in this calendar year already for the Cologne midfielder, more than any other player in the league.
88'
Substitution
87'
Game, set, match
Shkiri gets his second of the game, powering in a drive on the half-volley from 10 yards after Frankfurt only half cleared a cross into the box.
84'
No way through
Try as they might, Frankfurt just can't break their hosts down. It's looking like game over here.
80'
More subs
Frankfurt make another attacking change as Alario comes on up front for Hasebe. Cologne bring on Schindler and Thielmann - they're not parking the bus but are going for more!
80'
Substitution
80'
Substitution
80'
Substitution
78'
Clinical
Goal attempts
4off target
3on target
6off target
1on target
75'
Borre heads wide!
A glorious chance for Frankfurt to pull a goal back as Max delivers a corner from the left. He finds Borre near the corner of the six-yard box at the front post, but the Colombian can only direct his header wide.
72'
Substitution
71'
Two to the good!
Another lightning fast counter from Cologne and this time with an end product. Maina scurries forward and plays in Adamyan, whose shot is blocked by Trapp. The ball ricochets up kindly for Skhiri, who is left with a simple header into an empty net from close range.
71'
SituationGoal
ReviewOffside?
DecisionGoal
67'
Two more subs
Cologne respond with a double substitution of their own. Adamyan comes on for Tigges up top, while Olesen replaces Huseinbasic in central midfield.
67'
Substitution
67'
Substitution
66'
Double change
Frankfurt coach Oliver Glasner has to do something and opts to bring on two attacking players on Borre and Knauff, with Lindstrom and Buta making way.
66'
Substitution
66'
Substitution
64'
Kamada almost in!
The Japanese playmaker darts into the box to collect a ball over the defence. He can't quite bring it down though and it's cleared for a corner. Kamada holds his head in his hands in frustration - that's the most space he's had in the Cologne box all game.
Key moment
© IMAGO/Revierfoto/IMAGO/Revierfoto
55'
Huge block from N'Dicka!
A sweeping counterattack from Cologne almost ends with their second goal as Maina flicks the ball through for Hector, who just has Trapp to beat. Or so he thinks! N'Dicka lunges and manages to block what appeared to be a certain goal!
51'
Difference maker
1'
37.6 %
Now
70.3 %
49'
The breakthrough!
A short corner routine pays off for Cologne as Kainz whips in an in-swinging cross from the left. Hübers flies into the six-yard box unmarked to head in the opener!
49'
More of the same
46'
Under way again!
No changes to either team at the break as we head into the second half.
Kick-off!
45'
+ 4
Tactical battle
No goals as yet and not really many chances to speak of. Neither side will be massively happy with a point though, so expect some changes in the second half!
Half-time
45'
+ 2
43'
Hector down
The Cologne captain is crunched in a tackle with Buta and is receiving treatment on his right knee.
39'
Kolo Muani almost in
Lovely quick feet from Götze on the left to dance past three defenders before playing it in to Kolo Muani. He tries to spin his marker but Chabot just has enough muscle to hold him off and clear the danger.
35'
Tale of the tape
xGoals
0
0.13
0.3
0
Goals
Hard-fought
© IMAGO/Jan Huebner/IMAGO/Jan Huebner
Götze in charge
© IMAGO/Jan Huebner/IMAGO/Jan Huebner
24'
Brilliant from Kolo Muani
The Frenchman latches on to Lindstrom's pass and is properly clear of the defence for the first time all game. He skips past one defender, works and angle for a shot but just as he's about to pull the trigger from 10 yards, Schmitz recovers to poke the ball off his toe and clear the danger. He receives high fives all round from his teammates.
23'
In control
21'
Wide from Huseinbasic
A first effort on goal from the home side as a cross from the left finds Huseinbasic at the near post. His attempted flick with the outside of his right boot goes wide though.
© IMAGO/Jan Huebner/IMAGO/Jan Huebner
18'
Penalty check
The referee consults the pitch-side monitor for a potential handball against Hübers but opts against it, signalling that he touched the ball with his shoulder.
15'
SituationNo penalty
ReviewHandball?
DecisionNo penalty
15'
Max again
The Frankfurt plays a neat one-two on the edge of the Cologne area and gets to the byline. His attempted cross is blocked for a corner by Hübers' outstretched leg though.
12'
Max Power
A whopping 67 percent of Frankfurt's attacks are taking place down their left side, where January signing Max and Kolo Muani are linking up well.
9'
Goal shy
Goal attempts
0off target
0on target
0off target
0on target
6'
Kolo Muani again
Lovely footwork and shoulder dips from the Frankfurt forward to get past Martel not once, but twice down the left. His low cross into the middle is good but again a defender gets there ahead of Lindstrom.
4'
Cologne unhurried
While Frankfurt have started aggressively, the hosts are playing patiently and biding their time, refusing to be hurried into playing long balls.
1'
Chance for Frankfurt!
There are only about 30 seconds on the clock but Frankfurt are already in as Kolo Muani finds space on the left and crosses from the byline looking for Lindstrom. A defender's boot just gets there first though.
1'
Here we go!
Cologne get the ball rolling in the final Matchday 20 fixture!
Kick-off!
The stakes
Leipzig's loss at home to Union Berlin yesterday has opened the door for Frankfurt to climb back into the top four, provided they win here. Cologne, meanwhile, can only reclaim 11th place from Mainz if they win, although they would then have a more substantial cushion above the relegation places.
Birthday boy
Cologne centre-back Chabot turns 25 today. Can he celebrate with a win?
0:11
Watch: Frankfurt check out their workplace for the day
Team news - Cologne
Coach Steffen Baumgart has made just one change to his side as Huseinbasic comes into the team, with Ljubicic out with a cold.
Team news - Frankfurt
The Eagles begin with the exact same 11 players that beat Hertha Berlin 3-0 last weekend. Borre and Rode, who both began in the DFB Cup last-16 win over Darmstadt on Tuesday, make way for Lindstrom and Sow.
0:24
Watch: Cologne inspect the pitch
Cologne starting XI
Schwäbe - Schmitz, Hübers, Chabot, Hector (c) - Skhiri, Martel - Maina, Huseinbasic, Kainz - Tigges
Cologne subs
Horn, Köbbing, Soldo, Schindler, Adamyan, Lemperle, Thielmann, Olesen, Diehl
Frankfurt starting XI
Trapp - Tuta, Hasebe (c), N'Dicka - Buta, Kamada, Sow, Max - Lindstrom, Götze - Kolo Muani
Frankfurt subs
Ramaj, Smolcic, Jakic, Rode, Borre, Alario, Chandler, Lenz, Knauff
4:02
Analysis: Kolo Muani
2:03
Watch: Previous meeting: Eintracht Frankfurt 1-1 Cologne
Goals flowing
Frankfurt's haul of 40 Bundesliga goals after 19 rounds of matches is their fourth-best tally ever at this stage of a Bundesliga season, and their best in the last 31 years.
Unbeaten runs
Frankfurt are without defeat in their last seven Bundesliga games (four wins, three draws), while Cologne have not lost in their last four (three draws, one win).
Kolo Muani on fire
The Frankfurt attacker has more direct goal contributions than any other player this season with nine goals and 10 assists. He has scored six times in his last six league outings.