Cologne secured major European football for the first time in 25 years following a comfortable final-day win over Mainz.
Cologne made a slow start, but slowly began to turn the screw the longer the half wore on. The Billy Goats got the goal they needed two minutes before the break when Jonas Hector broke clear and fired low beyond Jannik Huth to propel his side up to fifth - at the expense of Hertha Berlin, who went in at half-time trailing 3-0 at home to Bayer Leverkusen.
Milos Jojic went agonisingly close to doubling Cologne's lead, before news began to filter through of a fourth Leverkusen goal in the capital. Leading the five-way battle for Europe on goal difference with 20 minutes of the campaign remaining, Cologne held their nerve - their continental accomplishment confirmed late on courtesy of Yuya Osako's driving run and emphatic finish.
Man of the Match
A hive of activity, Osako was too hot to handle for Mainz.
Promotion to the Bundesliga, 12th, ninth and now fifth place: it's been onwards and upwards since Peter Stöger took charge of Cologne in summer 2013.
- Cologne finished in the top eight for the first time since 1991/92 (fourth).
- Hector netted his first goal since 12 April 2015 (69 Bundesliga games).
- Mainz midfielder Gerrit Holtmann made his full Bundesliga debut.
Cologne: Horn - Klünter, Sörensen, Subotic, Heintz - Lehmann (c) - Jojic (Clemens 90'), Hector - Osako (Özcan 88'), Bittencourt (Zoller 79') – Modeste
Coach: Peter Stöger
Mainz: Huth - Brosinski, Bell (c), Bungert (Öztunali 75'), Balogun (Hack 18') - Gbamin, Frei - Quaison (Muto 62'), Bojan, Jairo – Cordoba
Coach: Martin Schmidt
Watch: Cologne coach Peter Stöger receives a beer shower from his players after securing European qualification