Liverpool paid for wasted chances as goals from Hulk and Sergei Semak gave Zenit St Petersburg a lead in the first leg of their Europa League tie.
Luis Suarez was guilty of several misses including a shot from five yards out and a curling effort just wide.
Hulk had already hit the post in the first half but smacked in a swerving shot after 70 minutes.
And two minutes later Semak tucked in at the back post to give Liverpool an uphill task in the second leg.
Suarez, who is Liverpool's top scorer this season, also failed to test the Zenit keeper despite being clean through, and shot wide with two other chances.
It was far from one-way traffic, though, with Pepe Reina having to make several early saves.
- Liverpool had 46% possession against Zenit, the first time they have dipped below 50% in the Europa League this season. (via Opta)
The result was perhaps harsh on Liverpool in front of a fiercely vocal and partisan crowd, which Reds manager Brendan Rodgers praised as
The game's narrative had a certain familiarity to it, coming three days
after a 2-0 defeat by West Brom
in which the Baggies grabbed two late goals.
Like that Premier League match, Liverpool were without the cup-tied Daniel Sturridge. On this occasion it was Hulk, rather than Romelu Lukaku, who showed Suarez how to finish with a smartly taken goal.
The Brazilian striker, who has struggled since his £32m transfer from Porto in September, tormented Liverpool in an entertaining opening 15 minutes which featured plenty of chances for both teams - despite the sub-zero temperatures.
First, Hulk crossed for Aleksandr Kerzhakov and then took a left-footed shot himself, with Reina saving well on both occasions.
In between those opportunities, Suarez had fired wide after breaking free but he should have given Liverpool the lead when he intercepted Nicolas Lombaerts's pass in the Russian defender's half, but over-ran the ball when attempting to take it around the keeper Vyacheslav Malafeev.
There were further shaky moments for both defences before the first half was done. Hulk's shot slipped through Reina's grasp and hit the post, while Suarez missed the target from five yards out after Raheem Sterling had gathered Joe Allen's floated cross.
The tricky pitch hardly helped matters, and Allen - recalled to the side in place of Lucas - struggled to control and distribute the ball in his customary fashion.
With opportunities blundered, there was a real danger for Liverpool that, having been made to pay for similar wastefulness on several occasions this season, they might suffer again.
That feeling grew early in the second half when, first, Glen Johnson made a barnstorming run from his own half only to be denied by Malafeev and then Suarez missed the target once more when he tried to curl his shot into the corner from the edge of the box.
And so it came to pass after 70 minutes. Jordan Henderson lost possession and when the ball was fed to Hulk he advanced on goal before cracking a shot into the top corner from the edge of the box.
Two minutes later, Martin Skrtel failed to clear Aleksandr Anyukov's cross from the right and Johnson was nowhere to be seen as substitute Semak converted at the back post.
Suarez tested Malafeev once more with a free-kick from the edge of the box, but despite creating so much, Liverpool again lacked a killer instinct.
Zenit St Petersburg
- 16 Malafeev
- 02 Aniukov
- 06 Lombaerts
- 13 Luis Neto Booked
- 14 Hubocan Booked
- 10 Danny (Semak - 54' )
- 15 Shirokov
- 27 Denisov
- 28 Witsel
- 11 Kerzhakov (Faitzulin - 82' )
- 29 Hulk
- 30 Zhevnov
- 21 Rodic
- 24 Lukovic
- 20 Faitzulin
- 25 Semak
- 94 Evseev
- 77 Djordjevic
- 25 Reina
- 02 Johnson
- 03 Jose Enrique
- 23 Carragher
- 37 Skrtel Booked
- 08 Gerrard
- 14 Henderson
- 19 Downing
- 24 Allen
- 31 Sterling (Lucas - 78' )
- 07 Suarez
- 01 Jones
- 16 Coates
- 47 Wisdom
- 21 Lucas
- 33 Shelvey
- 29 Borini
- 30 Suso
Ref: Carlos Velasco Carballo