The mid-table visitors gave Zenit a helping hand with Daisuke Matsui putting through his own net after three minutes.

Alexander Bukharov doubled the home side's lead on the stroke of half-time.

Both sides finished the game with 10 men - Zenit's Roman Shirokov seeing red in the final minute, six minutes after Tomsk's Dmitri Smirnov had been dismissed.

Second-placed Rubin Kazan maintained their challenge with a 3-0 defeat of Amkar Perm - Carlos Eduardo scoring twice and Obafemi Martins netting a late penalty.

Spartak Moscow beat city rivals Saturn 2-1 with Welliton scoring twice.

Dmitri Kirichenko replied for Saturn but the visitors could not find an equaliser.

Alania Vladikavkaz scored twice in injury-time to record an unlikely win at rock-bottom Sibir Novosibirsk.

Evgeny Zinoviev's 11th-minute strike appeared to have handed the hosts just their fourth win of the season but goals at the death from Ibrahim Gnanou and Baba Collins turned the match around.