MILAN (AP) -- Zenit St. Petersburg qualified for the Europa League upon coach Luciano Spalletti's return to Italy by beating AC Milan 1-0 in the Champions League on Tuesday.
Milan, which had already qualified for the knockout stage, dominated but Danny scored in the 35th minute to ensure the Russian side finished ahead of Anderlecht in third place in Group C.
The Rossoneri were denied what appeared a clear penalty early on when Zenit defender Bruno Alves toppled Giampaolo Pazzini.
It is Zenit's first win in Italy in European competition, and only its second ever away victory in the Champions League.
"The lads played well and deserved to win even though it was a bit of a nervous game," Spalletti said. "I'm happy to have qualified and happy with tonight's game as in the past two years we haven't won away from home, even when we've played well. However, even though we won, we could have done better. We should have closed the game earlier.
"I'd like to say a huge thank you to our fans tonight, as even I was stunned at the number who were here. Their number and enthusiasm tonight gives us extra responsibility. We have to work hard for them as they deserve it. Maybe a draw would have been a fairer result as we had to defend a lot, but we have to be happy, we're through. We'll try to do better.
Milan coach Massimiliano Allegri rotated his squad, leaving top scorer Stephan El Shaaraway on the bench, while Djamel Mesbah, Cristian Zapata, Mathieu Flamini and Pazzini made rare starts.
Milan has only won four of its past 18 European games at home.
"I'm disappointed with the defeat because the team played a good game and we conceded in their only chance in the second half," Allegri said. "We need to be a bit more careful, we could have avoided the goal.
"We had several chances to level. But overall I'm happy with how the lads did. Zenit was obviously more hungry than us."
Milan looked set for a penalty in the fourth minute when a corner was cleared but only as far as Massimo Ambrosini, who headed it back in toward Pazzini in the six-yard box. Bruno Alves clambered all over Pazzini, falling on top of him as he attempted to clear, but the referee waved away Milan's furious claims for a penalty.
The home side slowly began to take control, and Urby Emanuelson went close with an effort from outside the area that was deflected wide of the right post.
Milan went even closer in the 22nd minute when Mattia De Sciglio's cross was cleared by Nicolas Lombaerts off Pazzini's feet from almost under the crossbar.
From the resulting corner, Pazzini headed down to Zapata, who slid in to meet it at full stretch but fired off target from two meters out.
Zenit took the lead with its first real chance of the game. Danny raced into the box before his cross was blocked, but he then fired into the bottom right corner.
Bojan Krkic could have leveled in outrageous fashion five minutes later, however his overhead kick flew wide of the right post.
Milan again went close eight minutes after the break. Zenit goalkeeper Vyacheslav Malafeev pulled off a great save to deny Pazzini and the ball rolled tantalizingly in front of an open goal for Emanuelson, but it was cleared at the last second by a defender.
The Rossoneri should have leveled in the 75th when Bojan was released by a brilliant through-ball from Robinho and, although the Spaniard's effort was deflected, Pazzini was then millimeters from connecting with the ball, right in front of the open goal.
There were huge cheers as El Shaarawy came on with 10 minutes to go, with Milan going close with a curling effort from Robinho which flew wide of the right upright.
Zenit almost doubled its lead on a counterattack when Milan goalkeeper Christian Abbiati had his hands stung by a fierce shot from Maksim Kanunnikov.