Match ends, Basel 1, Chelsea 0.
Chelsea qualified for the Champions League knockout stages despite suffering a late defeat in Basel.
Mohamed Salah's goal three minutes from time earned victory for the Swiss side but Schalke's goalless draw with Steaua Bucharest means the Blues cannot slip to third in Group E.
They will be disappointed by their display in Switzerland as they did not register a shot on target.
Petr Cech made several saves before Salah steered in to seal the win.
The Egyptian forward had suffered in the first half after missing two chances when his side were well in control.
But he cut in from the left to race clear of Branislav Ivanovic, controlled Fabian Schar's cross-field pass superbly and found the net to send St Jakob Park into raptures.
Basel's victory means they move into second in the group and have completed the double over Jose Mourinho's side, having beaten the Premier League team 2-1 in their opening Group E fixture.
And a point for Murat Yakin's side in their last game against Schalke will put them through to the last 16 of Europe's elite competition.
Once the disappointment of his team's display has subsided, Mourinho will reflect on his team improving on last season's Champions League showing, where Chelsea became the first team to be knocked out at the group stage having won the previous season's competition.
But having made only one change to the team that beat West Ham 3-0 on Saturday, he may also reconsider his decision not to freshen up his team selection.
The visitors looked off the pace from the start and were fortunate not to go in at the break a goal behind as Basel hit them with pace and width from the start.
Only a lack of composure from Salah meant the hosts could not make an early breakthrough and when they did hit the target, Cech made a number of important saves.
The Czech keeper was busy from the third minute onwards with Marco Streller inches from touching in an early delivery.
Following another Cech stop, John Mikel Obi had to clear Ivan Ivanov's toe-poke off the line from a corner, and there was a Basel handball appeal when a Taulant Xhaka cross hit Frank Lampard's arm after bouncing up off the ground.
Samuel Eto'o almost connected with an Ivanovic cross but Mourinho saw his side barely muster a chance as they struggled to make the ball stick up front.
Just before half-time, Eto'o was replaced by Fernando Torres with what looked like a groin injury for the Cameroon international, and although the visitors were more controlled in possession after the break, they rarely threatened the Basel goal.
The introduction of Eden Hazard on the left wing added some zest to their forward forays but several poor touches in the Basel box let Chelsea down.
The hosts sensed Chelsea's lack of sharpness and went close to grabbing a late goal as Serey Die volleyed wide, but Salah then came up with the goods as he finally found his composure.
To see a selection of images from tonight's action go to BBC Sport Facebook page.
- 34XhakaBooked at 37minsSubstituted forAjetiat 71'minutes
- 8Serey DieBooked at 63mins
- 9StrellerSubstituted forSioat 78'minutes
- 14StockerSubstituted forSauroat 90+2'minutes
- 12MikelBooked at 65mins
- 7Santos do NascimentoBooked at 76mins
- 29Eto'oSubstituted forTorresat 42'minutes
- 11OscarSubstituted forE Hazardat 55'minutes
- 22WillianSubstituted forDe Bruyneat 86'minutes
- 15De Bruyne
- 17E Hazard
- Stéphane Lannoy
- Shots on Target
Second Half ends, Basel 1, Chelsea 0.
Ivan Ivanov (Basel) wins a free kick in the defensive half.
Foul by Ramires (Chelsea).
Substitution, Basel. Gastón Sauro replaces Valentin Stocker.
Attempt missed. Geoffrey Serey Die (Basel) right footed shot from the centre of the box is too high. Assisted by Giovanni Sio following a fast break.
Foul by Valentin Stocker (Basel).
Gary Cahill (Chelsea) wins a free kick in the defensive half.
Attempt missed. Ramires (Chelsea) right footed shot from outside the box misses to the left.
Foul by Mohamed Elneny (Basel).
Eden Hazard (Chelsea) wins a free kick in the attacking half.
Goal! Basel 1, Chelsea 0. Mohamed Salah (Basel) left footed shot from the left side of the box to the bottom right corner. Assisted by Fabian Schär.
Substitution, Chelsea. Kevin De Bruyne replaces Willian.
Geoffrey Serey Die (Basel) wins a free kick in the attacking half.
Foul by John Obi Mikel (Chelsea).
Arlind Ajeti (Basel) wins a free kick in the defensive half.
Foul by Fernando Torres (Chelsea).
Attempt saved. Fabian Schär (Basel) right footed shot from more than 35 yards is saved in the bottom right corner.
Kay Voser (Basel) wins a free kick in the defensive half.
Foul by Ramires (Chelsea).