Hulk abrió la cuenta a los 34 minutos y marcó de nuevo de penal a los 63, para dar a su equipo ventaja de 3-1.
Los otros goles del Zenit fueron obra de Alexander Kokorin a los 55 y de Artur Yusupov a los 70.
Aaron Olanare dio un transitorio empate a CSKA a los 36.
El equipo moscovita terminó con diez hombres por la expulsión de Vasili Berezutski en la jugada del segundo penal.
"Es un gran día. Vamos a celebrar, pero no mucho. Todavía tenemos que alcanzar a CSKA en la liga", comentó el delantero del Zenit Artyom Dzyuba.
Zenit, campeón del año pasado, está cuarto en la liga, a cuatro puntos del CSKA cuando faltan cuatro fechas.
Andre Villas-Boas dejará al Zenit al finalizar la temporada. En los dos años que lleva como técnico del equipo ganó al menos una vez los tres trofeos nacionales: la liga, la copa y la Supercopa.
FUENTE: Associated Press