Russia midfielder Faizulin fired in a rebound in the 15th minute after the Lokomotiv keeper stopped Alexander Kerzhakov's shot as Zenit extended their winning streak to four games.
Former Tottenham Hotspur striker Roman Pavlyuchenko wasted a good chance to salvage a point for the home side late on when he hit the post from close range as Lokomotiv slumped to their fourth defeat in six matches.
The victory put Luciano Spalletti's team six points behind league leaders CSKA Moscow, who were held to a 0-0 draw by city rivals Dynamo on Friday, with six games remaining.
Big spenders Anzhi Makhachkala, in third place 13 points off the pace, visit lowly Volga Nizhny Novgorod on Sunday, hoping to record their first victory since early December.
While Zenit appear to have overcome their mid-season crisis, the latest setback increased the pressure on Lokomotiv coach Slaven Bilic.
The wealthy railway side, who had talked of challenging for the title after spending heavily on players and luring former Croatia boss Bilic to Moscow last summer, stayed in 10th place with little hope of playing in Europe next season.
To make matters worse, Lokomotiv supporters displayed huge banners during Saturday's match, demanding the resignation of Bilic and club president Olga Smorodskaya.
Bilic gave a blunt assessment of his team's performance.
"You can't expect to win when your team makes so many mistakes. Zenit were a better team and fully deserved their victory," he told reporters.
"Do I have any regrets about coming here? I don't want to discuss it at this time. I'm not looking for any excuses, either. As for the fans' behaviour, I don't want to talk about things that are taking place away from the football pitch."