A surprise inclusion after a recent injury lay-off, he could do nothing to keep out Danny's well-placed opener.
Guilty along with the rest of the Milan defence of watching as Danny stroked home the match's only goal. However, he was the Rossoneri's most commanding defender, making several key interventions.
M. De Sciglio
Could not match the threat posed by Abate on the opposite flank, but he was very solid defensively.
One of the Colombian defender's most assured games so far for Milan, if not particularly eye-catching. Still, did not put a foot wrong and coped well with the physical threat of Hulk.
His slow reactions allowed Danny to pounce on the rebound and decide the game. Still doesn't look good enough for this level.
Was let down by a moment's hesitation with the goal gaping, squandering one of Milan's best chances. Looked ponderous and off the pace at times, but ran his socks off.
Was unlucky to see his excellent tackle rebound for the only goal, but his passing was pretty poor throughout.
Shot from distance on a number of occasions when a pass may have been the better option. Did little to press a claim for a regular place in the team, but had to fault his work-rate.
Tried hard to lift his team with a much more proactive performance in the second half, but this was yet another ineffective display from a player who has fallen into a dreadful rut this term.
Forced an excellent save from Malafeev when he diverted Boateng's cross towards the net. Those moments, however, were few and far between.
The ex-Barcelona man failed to fire at San Siro, a handful of long-range potshots the closest he got to threatening the Zenit defence. Never stopped trying, though.
Did well to parry Flamini's long-range bomb and efficiently organised the Zenit backline.
Played effectively in limiting Milan's options out wide, although at time looked vulnerable when defending against the counter.
Given little opportunity to get forward as the hosts dominated possession and territory, but was never caught out down the flank. Caught the eye with a marvellous tackle on Bojan late on.
Could well have found himself on the wrong end of a penalty decision in the opening minutes, but defended solidly and was ever-dependable in the air.
Happy to play the ball out from his own half and given few problems going back from the likes of Bojan and Pazzini. Stepped in well to deny Emanuelson.
Forced to do his fair share of chasing against a Milan side who enjoyed much more of the ball, but never dropped the tempo.
It was the midfielder's burst into the area that opened the door for Danny to take the lead. Pressured constantly in the middle.
The more low-key member of Zenit's creative axis, but served as a valuable foil for Danny with decent distribution.
Played one delightful through-ball for Hulk only for the Brazilian to be called for a marginal offside. Dependable in the middle.
The creative spark that drove Zenit forward, he took his goal with ease and class.
Was full of running for the most part but never looked remotely like scoring. As a result, his withdrawal came as a surprise to nobody but him.