Manchester City staged a dramatic late fightback to keep their title bid alive, coming from 3-1 down to draw with Sunderland at Etihad Stadium.
Sebastian Larsson put Sunderland ahead before Mario Balotelli equalised from the spot after Edin Dzeko was fouled.
The visitors restored their lead via Nicklas Bendtner's header and extended it when Larsson met Bendtner's cross.
But Balotelli fired in and Aleksandar Kolarov drilled home to level, although City lost their 100% home record.
Despite their spirited comeback, City know that if Manchester United win at Blackburn on Monday the 19-time champions will move five points clear at the Premier League summit.
It was a thrilling end to a match in which Sunderland produced a brilliant away performance to stand on the verge of a huge upset.
But from the moment excellent centre-back Matt Kilgallon was replaced by Sotirios Krygiakos on 80 minutes, the visitors appeared vulnerable.
City were especially grateful for the intervention of Balotelli, a player he does not trust.
The Italian striker was involved in an angry exchange with Kolarov on 65 minutes, yet it seemed to galvanise him to engineer City's revival.
At 3-1 down on 85 minutes, Balotelli cut in from the left to rifle a superb finish across Simon Mignolet - and 69 seconds later it was 3-3.
Until then, neither Balotelli nor his team-mates displayed the sort of pace, power or intelligence that has characterised much of their season.
Sunderland threatened twice in the first five minutes through James McClean and Sessegnon, while Craig Gardner hit the side-netting.
Having then squandered two chances of their own - Mignolet denying Dzeko and Balotelli heading over - City were punished.
Sessignon surged in from the left and fed an unmarked Larsson, who side-footed into Joe Hart's bottom corner from just outside the box.
City finally generated some momentum as Kolarov and Yaya Toure went close before Gardner brought down Dzeko.
Sunderland were furious with referee Phil Dowd's decision but there was clear contact and Balotelli wrong-footed Mignolet.
Rather than immediately pushing for a second though, City lacked energy and intent as Sunderland regained their early verve.
They were dangerous on the counter-attack but it was a routine position from which they struck four minutes into first-half stoppage time.
City conceded a free-kick on the right and switched off, allowing Sessignon to advance and centre for Bendtner to head past Hart.
Mancini was furious with his players as they walked down the tunnel and Adam Johnson came on for Micah Richards at the break.
However, their afternoon took another turn for the worse when Sessegnon robbed Yaya Toure and fed Bendtner on the right.
Faced with a two-on-one scenario, the Dane eluded Kolo Toure with a low cross that was turned in by Larsson.
Carlos Tevez and David Pizarro were introduced from the bench as City did all they could to salvage a result.
Balotelli and Kolarov squared up to each over over who should take a set-piece before both men struck to earn their side a point.
Sunderland manager Martin O'Neill: "We performed brilliantly and should have won. We didn't and you have to credit Manchester City.
"I'm disappointed we didn't take three points but it was a magnificent effort. I wouldn't single anybody out today. It was a great team effort but in between that there were individuals who were very good.
"They were immense today. Any neutral would have thought we would have been well and truly beaten today. We showed spirit and ability."