Roman Shirokov scored FC Zenit St Petersburg's crucial third goal as the 2008 UEFA Cup winners recovered from 1-0 down on the night, 3-1 on aggregate, to overcome BSC Young Boys.
Danko Lazović and Sergei Semak struck after Ammar Jemal's opener for the visitors, and Luciano Spalletti's side confirmed their place in the last 16 when Shirokov chested down Aleksandar Luković's ball to the far post and drilled it into the roof of Marco Wölfli's net with his left foot.
With temperatures at -9C and dipping at kick-off, Young Boys' nerve could have failed them, but the Berne side started the brighter and forged ahead on 21 minutes. Mario Raimondi's corner from the right was allowed to bounce in front of goal and defender Jemal headed the ball over the line.
Zenit missed a golden chance to level when Danny stormed on to Lazović's ball five minutes before half-time only to fire over. The disappointment was fleeting: within 60 seconds Lazović latched on to an elegantly-weighted Konstantin Zyryanov pass to fire low past the advancing Wölfli.
Seven minutes after the restart, Zenit scored again; Igor Denisov's cross-field ball picked out Semak unmarked on the right of the Young Boys penalty area, and he controlled before sending a powerful shot across the face of goal and into the net.
For a few minutes Young Boys looked set to disintegrate, and by the time they regained their composure, Shirokov had converted Zenit's third of the night 13 minutes from time. The Russian champions were never comfortable, though, and Henri Bienvenu rolled the ball against the post while lying on the ground for Young Boys in the dying minutes but they held on.