Despite having failed to properly test goalkeeper Vyacheslav Malafeev with a number of chances the Reds seemed to be managing to hold on in their last-32 Europa League first-leg tie in the sub-zero Petrovsky Stadium.
But with 20 minutes remaining Hulk powered home a brilliant 30-yard strike before substitute Sergei Semak converted from close-range moments later.
Liverpool - and in particular top scorer Luis Suarez - will have to rediscover their shooting boots for the return leg next week otherwise their last chance of a trophy this season will be lost.
Manager Brendan Rodgers insisted he planned to give this competition due significance once they were into the knockout stage but an unexpected FA Cup exit to Oldham and a failure to pick up the pace in the Premier League made it seem even more important.
For that reason he selected virtually a full-strength side with captain Steven Gerrard starting his first away game in Europe this season.
Concern had been expressed before the match about possible racist abuse targeting Liverpool's black players - of which Glen Johnson and Raheem Sterling were included in the starting line-up - but the Zenit fans, in fact, contributed plenty to generating a good atmosphere.
There were unconfirmed reports of isolated monkey chants at pitch level but nothing which was audible up in the stands.
The Russian champions fed off the fervour of their fans and displayed a sharpness which defied their two months without a competitive match as both striker Alexander Kerzhakov and Hulk, the latter from distance, were denied early on by Jose Reina.
In between Suarez responded by turning Nicolas Lombaerts and rolling a shot past goalkeeper Malafeev and across goal but wide of the far post.
The Belgian defender was not having the best of nights as he then inexplicably passed the ball to Suarez who drove into the area, rounded Malafeev but was denied from a narrow angle as Lombaerts recovered to block.
However, Liverpool, in trying to play a cagey European-style game, sank further back into their own half and it only served to invite on the hosts who saw Danny's header easily saved and Hulk hit the post.
The Reds' attacking was sporadic at best on a pitch cutting up badly but five minutes before half-time Suarez almost pinched a cheeky goal when the Zenit defence got themselves in a mess and Suarez backheeled Sterling's low cross just wide.
Johnson had a shot blocked by Malafeev after a long, driving run early in the second half while Suarez fired wide again as Liverpool could not find a clinical edge inside the penalty area.
It was a failing which cost them dearly on Monday as they were caught cold by West Brom, who scored twice late on at Anfield.
While they had not had the same dominance as they enjoyed against the Baggies they were not exactly in trouble - and that was when they were exposed.
With 20 minutes to go Jordan Henderson was dispossessed and Hulk, who had previously threatened without being worryingly dangerous, smashed one in to give Reina no chance.
But the defending for the second goal less than three minutes later raised plenty of questions as right-back Alexander Anyukov's low cross was drilled home at the far post by Semak.
Gerrard's free-kick forced a low save from Malafeev but no-one was on hand to capitalise on the rebound but Liverpool appeared to still be going backwards rather than forwards.
It encouraged Zenit to go for what would surely have been the killer third and Viktor Fayzulin saw his long-range effort deflected narrowly wide.
Liverpool will require a much-improved performance in a week's time if they are to turn around the deficit and keep their quest for silverware alive.