Joshua Kimmich's stunning 90th-minute equaliser spared Bayern Munich's blushes as the Bundesliga champions rescued a 1-1 draw at home to Koln on Tuesday.

Bayern had been on the verge of their first home league loss since last January before their captain took centre stage, though it was not enough to restore their six-point lead at the summit following RB Leipzig's 6-1 demolition of Schalke.

Ellyes Skhiri, who scored twice in Koln's remarkable 7-1 win over Werder Bremen on Saturday, put the Billy Goats ahead amid a purposeful opening.

Koln were under pressure for long periods thereafter, however, and they could not see the win out as Kimmich struck from distance at the end.

The visitors looked bright from the start and Skhiri capitalised on the first real opportunity in the fourth minute, tucking in at the back post after Julian Chabot flicked on Florian Kainz's corner.

Marvin Schwabe made a necessary block to deny Serge Gnabry 10 minutes later, but Bayern continued to look unconvincing defensively.

They were grateful to Yann Sommer just before the half-hour, the goalkeeper getting a vital hand to Kainz's squared pass with Denis Huseinbasic lurking for a tap-in.

Bayern finished the half on top, but again Schwabe spared Koln, pushing Leon Goretzka's ferocious volley away.

Matthijs de Ligt saw a long-range effort tipped over and Ryan Gravenberch shot agonisingly wide as Bayern – who replaced Gnabry with Kingsley Coman at half-time – began the second period well.

Leroy Sane then cut in from the right to test Schwabe, who later acrobatically nudged Thomas Muller's header over amid a desperate onslaught.

But there was only so much Schwabe could do, and stopping Kimmich's 30-yard piledriver was a step too far.