Borussia Dortmund have won four consecutive home Champions League games for the first time since a seven-game run between September 2012 and October 2013
Jadon Sancho and Erling Haaland scored late goals to give Borussia Dortmund a much-needed win in their Champions League group.
Dortmund were beaten 3-1 by Lazio last week and were poor for large parts of the game against a diligent Zenit side led brilliantly by former Liverpool defender Dejan Lovren.
But Sancho, 20, kept his cool to convert after Thorgan Hazard was fouled at the far post.
And Haaland then ran on to make it two.
Lazio drew 1-1 with Club Bruges to leave Group F tight after two games.
- Follow live Champions League coverage
Lovren, who would surely be playing for Liverpool had he stayed in the absence of Virgil van Dijk and Joel Matip, made eight clearances and four interceptions in a fine display at centre-half for the visitors.
But his good work was undone when Vyacheslav Karavaev needlessly grabbed Hazard around the neck and Sancho scored the penalty.
Haaland, 20, then ran on to substitute Jude Bellingham's pass to score his 12th goal in just 10 Champions League appearances.
- Line-upsMatch StatsLive Text
- 1Bürki24Meunier16Akanji15Hummels13Guerreiro8DahoudSubstituted forT Hazardat 67'minutes28Witsel7SanchoSubstituted forDelaneyat 84'minutes11ReusSubstituted forBrandtat 74'minutes32ReynaSubstituted forBellinghamat 84'minutes9Haaland
- 2Morey6Delaney10T Hazard19Brandt20Carvalho22Bellingham26Piszczek30Passlack35Hitz37Raschl
Zenit St Petersburg
- 41Kerzhakov15KaravaevBooked at 77mins6Lovren44Rakitskiy3dos Santos Justino de Melo5BarriosSubstituted forSutorminat 81'minutes21Erokhin14KuzyaevBooked at 26minsSubstituted forOzdoevat 71'minutes20Valle da Silva11DriussiSubstituted forZhirkovat 74'minutes22DzyubaSubstituted forMostovoyat 45'minutes
Referee:Björn KuipersMatch StatsHome TeamB DortmundAway TeamZenit St PetersburgPossessionHome69%Away31%ShotsHome11Away4Shots on TargetHome5Away0CornersHome8Away1FoulsHome7Away7Live TextPost update
Match ends, Borussia Dortmund 2, Zenit St Petersburg 0.
Second Half ends, Borussia Dortmund 2, Zenit St Petersburg 0.
Julian Brandt (Borussia Dortmund) wins a free kick in the defensive half.
Foul by Aleksey Sutormin (Zenit St Petersburg).
Goal! Borussia Dortmund 2, Zenit St Petersburg 0. Erling Haaland (Borussia Dortmund) left footed shot from the centre of the box to the centre of the goal. Assisted by Jude Bellingham with a headed pass.
Attempt missed. Erling Haaland (Borussia Dortmund) left footed shot from outside the box is high and wide to the left. Assisted by Jude Bellingham.
Substitution, Borussia Dortmund. Jude Bellingham replaces Giovanni Reyna.
Substitution, Borussia Dortmund. Thomas Delaney replaces Jadon Sancho.
Attempt missed. Yaroslav Rakitskiy (Zenit St Petersburg) left footed shot from more than 35 yards misses to the right. Assisted by Magomed Ozdoev.
Foul by Thorgan Hazard (Borussia Dortmund).
Wendel (Zenit St Petersburg) wins a free kick in the defensive half.
Substitution, Zenit St Petersburg. Aleksey Sutormin replaces Wilmar Barrios.
Corner, Borussia Dortmund. Conceded by Dejan Lovren.
Goal! Borussia Dortmund 1, Zenit St Petersburg 0. Jadon Sancho (Borussia Dortmund) converts the penalty with a right footed shot to the bottom right corner.
Vyacheslav Karavaev (Zenit St Petersburg) is shown the yellow card for a bad foul.
Penalty Borussia Dortmund. Thorgan Hazard draws a foul in the penalty area.
Penalty conceded by Vyacheslav Karavaev (Zenit St Petersburg) after a foul in the penalty area.
Axel Witsel (Borussia Dortmund) wins a free kick in the defensive half.
Foul by Aleksandr Erokhin (Zenit St Petersburg).
Corner, Zenit St Petersburg. Conceded by Mats Hummels.
Page 1 of 4rewindpreviousNavigate to the next pagenextNavigate to the last pageforward