But Zenit fought their way back into the game, with a spell of pressure on the European Champions ending in two goals in quick succession.
Claudinho took advantage of being unmarked on the post to nod in an equaliser on 38 minutes, before Sardar Azmoun added a second just three minutes later following a Malcolm through ball that put him one on one with Kepa Arrizabalaga.
Tuchel's side improved after the break, drawing the game level once again on 62 minutes after Lukaku jumped on a Werner cross to score his first Chelsea goal since the last time he played Zenit in September.
Werner then put the visitors back ahead with five minutes to go, blasting a shot past Mikhail Kerzhakov -- with a 3-2 victory enough to secure top spot.
However, a stunning injury time half-volley from substitute Magomed Ozdoev saw Zenit draw level once again and dropped Chelsea down to second place..