Two-time winners Chelsea began their Champions League campaign with a shock defeat at Dinamo Zagreb.
The Croatian champions have a woeful record in this competition - winning just five of 43 games before this meeting - but they stubbornly held on after taking a first-half lead.
The dangerous Mislav Orsic netted the 13th-minute winner, running through from the halfway line and beautifully dinking a finish past the advancing Kepa Arrizabalaga.
Dinamo came agonisingly close to a second but Stefan Ristovski's thunderous, long-range effort was superbly tipped on to the bar by Arrizabalaga.
Deadline-day signing Pierre-Emerick Aubameyang was handed his Chelsea debut and, although the ex-Arsenal skipper had a goal ruled out for offside, he largely looked off the pace.
Armando Broja replaced Aubameyang just before the hour mark, but the Albanian had little impact in an overall disjointed performance from Thomas Tuchel's men.
Chelsea launched a late onslaught on Dinamo's goal and the hosts were relieved to see Reece James' low shot rattle the foot of the post with five minutes remaining.
In Group E's other game, Serie A champions AC Milan drew 1-1 against Austrian champions FC Salzburg.
Tuchel's century ends on sour note
In the first transfer window under their new owners, Chelsea were Europe's highest spending club with an outlay close to £300m on new signings this summer.
The Blues, though, look an incoherent outfit and although Tuchel - who took charge of the side for the 100th time against Dinamo - is not yet under pressure, the German will quickly need to work out his side's problems with hands-on new owner Todd Boehly watching closely.
A solid defensive platform was the bedrock of Tuchel's success in his first few months at the club, when he led them to their second Champions League title with victory over Manchester City.
But in seven games in all competitions this term, the Londoners have already lost three times and kept just one clean sheet, which came on the opening day of the Premier League campaign against Everton.
Former Napoli centre-back Kalidou Koulibaly is an experienced Champions League player, but defensive team-mate Wesley Fofana was making his first appearance in the competition.
And the lack of understanding between the pair - who cost more than £100m between them - in the early days of their partnership was apparent for the goal when they both went for a high ball, yet neither got to it.
It allowed Bruno Petkovic to flick the ball on for Orsic, who held off Fofana before advancing on goal and converting with the coolest of finishes.
Arrizabalaga, who started instead of out-of-form number one Edouard Mendy, did not have much to do, but denied Ristovski with a stunning save.
At the other end of the pitch, Aubameyang was given a first start since signing from Barcelona and the 33-year-old striker played in a face mask, having been involved in a violent robbery at his home which left him with a broken jaw.
The signs were good when he ran through early on, but failed to pick out a team-mate with his cutback and struggled to make an impact thereafter.
Chelsea's general showing was one of slow build-up play which did not do enough to unlock a well-organised and obdurate Dinamo backline.
The visitors chased an equaliser with time running out, but Croatia goalkeeper Dominik Livakovic saved Mason Mount's first-time strike and Kai Havertz's header from six yards out was brilliantly blocked by Robert Ljubicic.
It was just Chelsea's second group stage loss in 18 games, while Dinamo held on for a famous victory.
The perfect start from the Croatians gives them hope of reaching the knockout stage of the Champions League for the first time, having failed to do so in all previous seven appearances in the competition.
Player of the match
HavertzKai Havertz
with an average of 7.58Dinamo Zagreb
Squad number77Player nameSpikic
Average rating7.37
Squad number10Player nameBaturina
Average rating7.32
Squad number55Player namePeric
Average rating7.31
Squad number27Player nameMisic
Average rating7.28
Squad number99Player nameOrsic
Average rating7.27
Squad number18Player nameDrmic
Average rating7.23
Squad number6Player nameLauritsen
Average rating7.21
Squad number14Player nameLjubicic
Average rating7.18
Squad number40Player nameLivakovic
Average rating7.18
Squad number2Player nameMoharrami
Average rating7.08
Squad number37Player nameSutalo
Average rating7.08
Squad number13Player nameRistovski
Average rating7.00
Squad number9Player namePetkovic
Average rating6.84
Squad number7Player nameIvanusec
Average rating6.78
Squad number5Player nameAdemi
Average rating6.67
Chelsea
Squad number29Player nameHavertz
Average rating7.58
Squad number24Player nameJames
Average rating4.32
Squad number21Player nameChilwell
Average rating3.93
Squad number1Player nameArrizabalaga
Average rating3.89
Squad number8Player nameKovacic
Average rating3.69
Squad number18Player nameBroja
Average rating3.54
Squad number17Player nameSterling
Average rating3.52
Squad number19Player nameMount
Average rating3.46
Squad number26Player nameKoulibaly
Average rating3.25
Squad number32Player nameCucurella
Average rating3.21
Squad number33Player nameFofana
Average rating3.20
Squad number5Player nameJorginho
Average rating3.20
Squad number28Player nameAzpilicueta
Average rating3.10
Squad number9Player nameAubameyang
Average rating2.97
Squad number10Player namePulisic
Average rating2.74
Squad number22Player nameZiyech
Average rating2.20
Line-ups
Dinamo Zagreb
Formation 3-1-4-2
40Livakovic
13Ristovski37Sutalo55Peric
27Misic
2Moharrami7Ivanusec5Ademi14Ljubicic
9Petkovic99Orsic
- 40Livakovic
- 13Ristovski
- 37Sutalo
- 55Peric
- 27Misic
- 2MoharramiSubstituted forLauritsenat 76'minutes
- 7Ivanusec
- 5AdemiSubstituted forBaturinaat 88'minutesBooked at 90mins
- 14Ljubicic
- 9PetkovicSubstituted forDrmicat 90+8'minutes
- 99OrsicSubstituted forSpikicat 76'minutes
Substitutes
- 1Zagorac
- 3Stefulj
- 6Lauritsen
- 10Baturina
- 11Emreli
- 12Bockaj
- 18Drmic
- 20Marin
- 28Théophile-Catherine
- 31Bulat
- 33Nevistic
- 77Spikic
Chelsea
Formation 3-4-3
1Arrizabalaga
28Azpilicueta33Fofana26Koulibaly
24James19Mount8Kovacic21Chilwell
29Havertz9Aubameyang17Sterling
- 1Arrizabalaga
- 28AzpilicuetaSubstituted forZiyechat 45'minutes
- 33Fofana
- 26KoulibalyBooked at 67mins
- 24James
- 19MountBooked at 59mins
- 8KovacicSubstituted forJorginhoat 59'minutes
- 21ChilwellSubstituted forCucurellaat 71'minutes
- 29Havertz
- 9AubameyangSubstituted forBrojaat 59'minutes
- 17SterlingSubstituted forPulisicat 75'minutes
Substitutes
- 5Jorginho
- 10Pulisic
- 12Loftus-Cheek
- 13Bettinelli
- 14Chalobah
- 16Mendy
- 18Broja
- 20Zakaria
- 22Ziyech
- 23Gallagher
- 30Chukwuemeka
- 32Cucurella
Referee:István Kovács
Attendance:20,607
Match Stats
Live Text
Match ends, Dinamo Zagreb 1, Chelsea 0.
Second Half ends, Dinamo Zagreb 1, Chelsea 0.
Substitution, Dinamo Zagreb. Josip Drmic replaces Bruno Petkovic.
Attempt missed. Christian Pulisic (Chelsea) header from the centre of the box misses to the left. Assisted by Kalidou Koulibaly following a set piece situation.
Attempt missed. Mason Mount (Chelsea) right footed shot from outside the box misses to the left following a set piece situation.
Attempt blocked. Hakim Ziyech (Chelsea) left footed shot from outside the box is blocked.
Martin Baturina (Dinamo Zagreb) is shown the yellow card for a bad foul.
Reece James (Chelsea) wins a free kick in the attacking half.
Foul by Martin Baturina (Dinamo Zagreb).
Offside, Chelsea. Hakim Ziyech tries a through ball, but Kalidou Koulibaly is caught offside.
Attempt blocked. Hakim Ziyech (Chelsea) left footed shot from outside the box is blocked.
Attempt blocked. Hakim Ziyech (Chelsea) left footed shot from outside the box is blocked.
Jorginho (Chelsea) wins a free kick in the attacking half.
Foul by Robert Ljubicic (Dinamo Zagreb).
Hand ball by Hakim Ziyech (Chelsea).
Foul by Wesley Fofana (Chelsea).
Bruno Petkovic (Dinamo Zagreb) wins a free kick on the left wing.
Substitution, Dinamo Zagreb. Martin Baturina replaces Arijan Ademi.
Kalidou Koulibaly (Chelsea) wins a free kick in the attacking half.
Foul by Arijan Ademi (Dinamo Zagreb).
ncG1vNJzZmivp6x7o67CZ5qopV%2BovbC%2B02idqKekl66tuI5vaXFoYGh%2FdA%3D%3D