Cologne’s Davy Zilke scored twice in the first half, before and after Amin Adly’s equaliser, to give them their third away win in a row, the team’s longest winning streak outdoors in 31 years.
It was not a picnic as Leverkusen had hoped under manager Xabi Alonso ahead of next week’s Europa League semi-final first leg tie against AS Roma.
The team have 48 points in sixth place, which would be enough to secure a European League spot for next season, two points ahead of Wolfsburg, who face Borussia Dortmund on Sunday.
Zilke stunned the hosts in the 14th minute, easily beating defender Jonathan Tah to put Cologne ahead at the first chance in the game.
Leverkusen equalized with a perfectly executed counterattack that ended in a fair goal.
The hosts were in full control of the game when Colin scored another goal, with Zilke scoring the net for the second time on Friday night in the 36th minute against the tide of play.
Bayern Munich, first with 62 points, faces Werder Bremen on Saturday.
In a second game played on Friday, Schalke 04 beat hosts Mainz 3-2, taking the winner to 30 points in 14th place, while Mainz’s balance froze at 45 points in eighth place.
Read the Latest World News Today on The Eastern Herald.