Fresher and more incisive throughout, Zenit took the lead when Pogrebnyak forced home a header from close range. Playmaker Danny made it 2-0 with a fine solo goal on the hour, before Nemanja Vidic pulled one back from six yards.
It was too little too late, though, with Paul Scholes sent off late on in a lacklustre showing from United. The midfielder saw red when he punched the ball into the net with only seconds left on the clock, earning himself a second booking and one-match European suspension that could see him sit out the Champions League group match against Villarreal.
It was a sorry end to the match for United, who had looked off the pace throughout.
With Zenit midway through the Russian season, the difference in sharpness between the sides was clearly evident, and Dick Advocaat's side showed they could well be a threat in this season's Champions League - even without Andrei Arshavin, who has been heavily linked with Spurs and who only played 45 minutes in Monaco.
The defeat, though, will not be too hard to take for United, who not only had Cristiano Ronaldo watching from the stands, but who will also be hoping to add a striker - most notably Dimitar Berbatov - to their ranks before the close of the transfer window on Monday.