Chelsea were forced to settle for second place in Group H after an injury-time equaliser from Magomed Ozdoev clinched a 3-3 draw for Zenit in the Champions League.
Two goals from Timo Werner and another from Romelu Lukaku were not enough to secure the victory for the Blues, with Claudinho, Sardar Azmoun and Ozdoev all scoring for Zenit in Russia, and the Blues will now not be seeded in Monday's draw for the last 16 after finishing below Juventus, who beat Malmo in Turin.
The momentum of the game swung back and forth several times, with Chelsea's Kepa Arrizabalaga kept particularly busy.
Blues boss Thomas Tuchel was missing a number of midfielders, including Jorginho, N'Golo Kante and Mateo Kovacic, and started Ross Barkley and Reece James in the middle, with Atletico Madrid loanee Saul Niguez being utilised at left wing back.
Chelsea took the lead in just the second minute when a Barkley corner was flicked on at the near post by Andreas Christensen, allowing Werner a simple tap-in.
Zenit should have been level on 26 minutes when Malcom was played in on goal, but the former Barcelona winger was denied by Kepa.
The equaliser did arrive 12 minutes later when Douglas Santos played a ball into the box that was glanced in by the head of Claudinho.
The hosts then took the lead before half-time when Barkley was dispossessed in midfield, with Malcom sliding Azmoun in behind a chaotic Chelsea defence. The Iran international took the ball round Kepa before slotting home, with the Blues goalkeeper forced to make another save from Azmoun just moments later.
Chelsea improved in the second half and were level just after the hour as Werner and Barkley played a one-two on the edge of the box, with the German giving Lukaku an easy tap in to make it 2-2.
Azmoun was denied another as Kepa made a fine save down to his left following a header from the striker, before Werner finished off a nice move five minutes from time, narrowly remaining onside.
However, the visitors failed to hold on as a tremendous strike from substitute Ozdoev deep into stoppage time levelled it up to ensure the spoils were shared.
What does it mean? Blues lose top spot twice in a week
This was a second chaotic game in the space of a week for Tuchel's men, which will have the German scratching his head considering how organised they have looked for much of his reign.
After surrendering top spot in the Premier League following their 3-2 defeat at West Ham on Saturday – where they also conceded a late goal – Chelsea lost first place in their Champions League group as well, and could potentially now face Real Madrid or Bayern Munich in the last 16.
Tuchel was forced into several changes, but will still have been irked by the lack of shape in this game, with Zenit looking the more dangerous across the 90 minutes, having 18 shots to Chelsea's 13, with seven on target.
James impresses in midfield
James has been one of Chelsea's standout players this season playing at right wing back, but the England international was moved to midfield in Russia due to a growing injury list at Stamford Bridge.
Despite the disappointing result, James looked the part for most of the game, topping the list of Chelsea players for total passes (81), successful passes (76) and total passes in the opposition half (49), while also gaining possession eight times.
James' versatility could come in very handy for Tuchel in the next few weeks while he waits for his first-choice midfielders to return.
Unfamiliar defensive wobbles
Normally, you cannot question Chelsea's defence. Since Tuchel's first Champions League game in charge of the club in February, the Blues had only conceded three goals in 12 games in the competition before this one.
Their nine clean sheets in this period was the highest total of any team, and had they kept one here, they would have been the fastest team and manager combination to reach 10 clean sheets in the competition (13 games), ahead of Ajax under Louis van Gaal, Milan under Fabio Capello and Real Madrid under Jose Mourinho (all 14 games).
However, without Thiago Silva and Antonio Rudiger, Chelsea's backline looked all over the place for large parts of this game, with Cesar Azpilicueta, Christensen and Malang Sarr being regularly pulled this way and that by the Zenit attack.
Zenit are away to Dinamo Moscow in a top-of-the-table clash on Sunday, while Chelsea host Leeds United in the Premier League on Saturday.