Goals: 1-0 Veljkovic (33'), 1-1 Osako (53'), 2-1 Rashica (58'), 3-1 Eggestein (89')
The hosts began with intent and immediately put their visitors under pressure in an effort to secure an early lead. Aside from a long-range Max Kruse effort that Timo Horn saved, however, the Billy Goats weathered the early storm and were on an equal footing until just after the half-hour mark when Milos Veljkovic volleyed in the opener at the back post following a corner.
If Bremen just about took a deserved lead into the break, Cologne's equaliser moments after the restart was equally justified after a rampant start to the second half. Substitute Leo Bittencourt found Claudio Pizarro just outside the box, and the veteran striker's clever pass was met by Yuya Osako, who lashed it into the net. Parity did not last long, though, as Milot Rashica prodded Bremen back in front five minutes later following a killer through-ball by Florian Kainz. Cologne threw everything forward in the closing stages and Pizarro should have scored an equaliser with a close-range header, but in the end it was Bremen who scored again when Maximilian Eggestein slotted in to finish off a counter-attack and give his side three priceless points.
- Veljkovic's goal was his second in the Bundesliga - but first at the right end. He previously scored an own goal against Schalke last season.
- His strike was the eighth time this season that Bremen have scored from a corner - a league high.
- Cologne conceded from a set-piece for the 19th time this season - also a league high.
- Osako's goal was his third in the Bundesliga in 2017/18.
- Rashica netted his maiden Bundesliga goal here.
- Bremen have not lost a single one of their eight competitive matches on home soil under Florian Kohfeldt, a run which includes six Bundesliga wins.
Bremen: Pavlenka - Augustinsson, Veljkovic, Moisander, Gebre-Selassie – Junuzovic (c), Delaney, Rashica (Belfodil 67') - Kainz (Langkamp 83'), M. Eggestein – Kruse (Bauer 90+2')
Unused substitutes: Drobny – Johannsson, Rashica, Friedl
Absentees: Bartels (Achilles), Eilers (knee), Verlaat (back), Zetterer (hand), Zhang (leg)
Coach: Florian Kohfeldt
Cologne: T. Horn – Sörensen (Özcan 46'), Mere, Heintz - Risse, Höger (Cordoba 82'), Koziello, Hector (c) – Pizarro, Osako, Terodde (Bittencourt 46')
Unused substitutes: Müller, Lehmann, Zoller, Maroh
Absentees: Clemens (thigh), Queiros (neck)
Coach: Stefan Ruthenbeck
Watch: Pizarro on "incredible" return to former club Bremen