The win continues strong league form for Zenit, who beat Arsenal Tula 4-0 last week, but were made to work hard in Europe in midweek, eventually beating Cypriot club AEL Limassol 3-1 over two legs.
CSKA struggled to break down newly promoted Mordovia, only prevailing after Seydou Doumbia was fouled by his former teammate Viktor Vasin and converted the resulting penalty on 79 minutes.
On Sunday, Zenit and CSKA could be joined at the top by Dynamo or Spartak Moscow, depending on the winner of their Moscow derby.
Friday's games saw FC Ufa take its first Premier League win in its second ever top flight game, beating Amkar Perm 1-0. FC Rostov drew 2-2 with FC Kuban.