Monaco boosted their chances of reaching the UEFA Champions League's last 16 with a smash-and-grab 1-0 win at Bayer Leverkusen.
Substitute Lucas Ocampos scored with 18 minutes to play as Leverkusen - who completely dominated the Group C contest on Wednesday - were left to rue their profligacy in front of goal.
Argentinian Ocampos was introduced just two minutes before his winner and his strike lifted Monaco to second in the pool.
The French side now have eight points and are just one behind Leverkusen, who could have qualified with a win or a draw.
With Zenit in third on seven points, Monaco's win means three sides from the pool can still qualify for the round of 16 heading into matchday six - when Monaco host Zenit and Leverkusen go to bottom-placed Benfica.
Wendell returned from suspension for the hosts, while ex-Leverkusen forward Dimitar Berbatov - who has recently overcome a thigh injury - started for Monaco.
The Ligue 1 outfit made their intentions clear from the off, sitting deep and defending in numbers.
Perhaps as a result, Leverkusen did not play with their usual energy, and they were restricted to attempts from long distance - Hakan Calhanoglu and Wendell trying their luck in the first 20 minutes.
Tricky South Korean winger Son Heung-min had a fierce effort blocked by Ricardo Carvalho as Leverkusen began to dominate, and only the woodwork prevented the BayArena crowd from celebrating in the 28th minute.
Lars Bender was the unlucky player, smashing a volley against the crossbar after Monaco had failed to clear their lines.
A clever set-piece straight from the training ground then caught Monaco napping but Calhanoglu could only tamely head at goalkeeper Danijel Subasic.
Calhanoglu continued to look lively after the break, but he could not match an excellent storming run with a suitable finish, shooting straight at Subasic in the 54th minute.
Leverkusen head coach Roger Schmidt introduced Josip Drmic just before the hour mark in a bid to find a goal, but the Switzerland international hurriedly shot wide when presented with a good chance.
And Karim Bellarabi just missed the target from an acute angle as Leverkusen became increasingly frustrated.
Then came the sucker-punch, as Monaco took the lead through Ocampos.
Calhanoglu lost the ball on the wing and Berbatov showed great skill before sliding a pass into Nabil Dirar, who swung in an outstanding cross from the right.
Dirar's cross beat Giulio Donati and fell perfectly for Ocampos, who slid in to volley past goalkeeper Bernd Leno.
Drmic then wasted a one-on-one opportunity, shooting at Subasic, and his miss summed up Leverkusen's night - one of wasted chances and disappointment.comments