Andrea Pirlo's Juventus missed Cristiano Ronaldo's "killer instinct" as the Italian champions fell to their first league defeat in two decades to Atalanta on Sunday.
Ruslan Malinovskyi struck late as Atalanta won 1-0 to move third in Serie A with the Portugal forward injured.
Atalanta are two points behind second-placed AC Milan who beat Genoa 2-1 to claim their first win at the San Siro in over two months.
Juventus were playing without injured Ronaldo, the top scorer in Serie A with 25 goals this campaign, in the match between the Champions League rivals in Bergamo.
"We knew it would be tough against Atalanta," said Juve coach Pirlo.
"Ronaldo is our finisher, he adapts to these matches, because he's a champion.
"He's a penalty area killer. Today we had our chances, we didn't use them and we were punished by an episode."
Juve have failed to win any matches this season without 36-year-old Ronaldo with three draws and a loss.
Their nine-year reign as champions looks set to end, and they are now facing a battle for a Champions League place.
They sit fourth and risk being overtaken by fifth-placed Napoli who play leaders Inter Milan later on Sunday.
"It's a game that counts," said Atalanta coach Gian Piero Gasperini whose side's last Serie A win over the Turin giants was in February 2001.
"Winning today means we can beat Juve and they know they can also lose against us.
"I didn't find a Juve in difficulty, they were a very strong team."
In Ronaldo's absence, Paulo Dybala got his first start in over three months after recovering from a knee injury.
But the Argentine was substituted in the 68th minute despite setting up Weston McKennie for a chance the American missed on 38 minutes and sending a free-kick wide after the hour mark.
Alvaro Morata missed two chances, the first cleared off the line in the 34th minute following a Federico Chiesa cross and the other saved by Pierluigi Gollini with 14 minutes remaining.
To add to Pirlo's woes forward Chiesa limped off after an hour.
Top Atalanta striker Luis Muriel fired over the bar after an hour with Duvan Zapata heading wide after 70 minutes.
Malinovskyi came off the bench with quarter of an hour to go and proved decisive, breaking through with three minutes left with a shot which took a deflection off Alex Sandro.
In Milan, Gianluca Scamacca's 68th-minute own goal put Milan eight points behind city rivals Inter and kept the seven-time European champions on course for a return to Champions League football next season.
Stefano Pioli's side had not won their last six games in the San Siro in all competitions and were playing without suspended forward Zlatan Ibrahimovic.
"We wasted a lot, we could have finished it earlier, but the important thing is the spirit to stay in the game until the very end," said Pioli, who has given up on catching Inter.
Ante Rebic put Milan ahead in the 13th minute with Rafael Leao, taking the place of Ibrahimovic, missing a chance for a second minutes later.
A Mattia Destro header against his former club pulled 14th-placed Genoa level eight minutes before the break.
Mario Mandzukic came off the bench for his first appearance in over two months just after the hour and had a role in the winning goal, which Scamacca guided past his own goalkeeper from a Hakan Calhanoglu corner.
In Rome, Lazio beat Benevento 5-4 in a match between coaching brothers Simone and Filippo Inzaghi to stay in the chase for the Champions League.
Ciro Immobile scored twice for the hosts and also missed a penalty as sixth-placed Lazio are four points behind Juventus having played a game less.
Roma's Champions League ambitions took a knock with a 3-1 defeat at Torino, who boosted their chances of top-flight survival.
Roma have taken four points from the last five games, and are stuck in seventh position, eight points off the Champions League berths.
Their hopes of a return to the elite European competition could now lie in winning the Europa League.
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ