Milan - A 35th minute strike from Danny secured a 1-0 away win over seven-time champions AC Milan and a Europa League spot for Russia side Zenit St Petersburg on Tuesday.
With qualification secured two weeks ago, Milan coach Massimiliano Allegri could afford to rest a number of regulars including top scorer Stephan El Shaarawy, midfielder Riccardo Montolivo and defender Philippe Mexes.
However Allegri's plan almost backfired, with fans leaving the stadium early as the dominant hosts tried but failed to find a leveller to Danny's superb first-half strike.
Zenit had been condemned to perform as well as Anderlecht did away to Malaga to hold on to third place in Group C and a Europa League last 32 spot.
And despite seeing his side defend for long periods as Milan laid siege to the visitors' area Zenit held on for a win which Spalletti did not seem too overwhelmed with.
"I'm happy with the qualification (for Europa) and how we played tonight, it's good we are still in Europe," said Spalletti, who grew up 70 km away from Allegri in Tuscany.
"Winning is important but maybe a draw would have been a fairer result as we ended up defending a lot."
He added: "We have to come back stronger and qualify for the knockout phase the next time because this club, this team deserves it."
Spalletti sent out his strongest possible side, with Hulk spearheading the attack flanked by Danny and Sergei Semak and Bruno Alves marshalling the defence in front of the experienced Vyacheslav Malafeev.
And on one of their few forays into the Milan area Danny pounced to send a superb curling shot past the outstretched Christian Abbiati to secure victory.
"I'm sorry about the defeat, but only in the sense the team put in a good, solid performance. The guys didn't deserve it," said Allegri.
"Otherwise it was a positive performance, we forced Zenit to defend for most of the match and they scored in what was practically their only chance of the opening half."
Milan should have had several goals, especially in the second half when the Russians seemed happy to sit on their lead.
The Rossoneri's hopes for an early opener, however, were snuffed out by the referee who waved away what appeared to be a valid penalty claim after Alves felled Giampaolo Pazzini from behind in the fourth minute.
When Zenit broke the deadlock, Milan's makeshift defence was caught on the hoof, Danny picking up a backpass from his own through ball to beat Abbiati with a well placed shot at the keeper's far post.
Milan responded immediataly but attempts by Bojan and Flamini, the latter with a rasping drive which forced a good block from Malafeev, came to nothing.
Milan came close to levelling minutes after the restart when Urby Emanuelson got his foot to Kevin Prince Boateng's cross from the right after a superb counter-attack orchestrated by defender Francesco Acerbi, only for Malafeev to block superbly.
Pazzini then flashed a header wide from Emanuelson's cross, and when Bojan was allowed space to run down on goal he sent his 20-metre drive wayward.
Allegri replaced left-back Djamel Mesbah with Robinho just after the hour mark, and his through ball allowed Bojan to run through with the goal at his mercy on 74 minutes only for the Spaniard to be dispossessed as he wound up to shoot.
With 10 minutes remaining El Shaarawy replaced Flamini, although it was Robinho who came closest to beating Malafeev when he curled a sublime shot just wide of Malafeev's far post.
El Shaarawy followed up moments later with a shot on the turn which edged just wide of the upright.
Zenit had enjoyed little time in Milan's area in the second half but almost embarrassed the hosts with a three-on-two scenario which only the alert Abbiati thwarted with a superb block from substitute Maksim Kanunnikov's shot in the closing minutes.