It was the visiting Belgians who had the better chances during the opening 45 minutes, but they were unable to find the back of Vyacheslav Malafeev's net.
Their best two openings fell to former Liverpool frontman Milan Jovanovic, but on both occasions he sent his low shorts wide of the target.
Hosting Zenit returned for the second half with a greater attacking intent, although they rarely troubled Anderlecht goalkeeper Silvio Proto.
However, the eventually managed to break the deadlock in the 72nd minute from the penalty spot. Bram Nuytinck pulled back Aleksandr Anyukov inside the area and Russian striker Kerzhakov dispatched the resultant kick from 12 yards.
Anderlecht pushed forward in search of an equaliser in the closing stages, but they were unable to make the breakthrough.