AC Milan recovered from two goals down to draw a thrilling Serie A clash 2-2 at Torino, for whom Adem Ljajic missed a spot-kick to make it 3-0.
Torino were rampant in the first half, Andrea Belotti making it eight goals in his last nine Serie A games before Marco Benassi's impressive flick doubled their lead.
The hosts were threatening to run away with it but Ljajic had his penalty saved by Milan goalkeeper Gianluigi Donnarumma before half-time.
And that allowed Milan to launch a rapid second-half fightback, Andrea Bertolacci getting one back before Carlos Bacca scored from a penalty of his own on the hour mark.
Neither side went on to find a decisive third goal, Milan's Alessio Romagnoli sent off a minute from time for a second booking. Torino have only won against the Rossoneri in one of their last 40 top-flight meetings while Sinisa Mihajlovic has failed to beat his former club in three attempts this season.
Fifth-placed Milan have won just one of their last four league games, but sit within four points of Napoli in third ahead of their crunch clash at San Siro on Saturday. Vincenzo Montella's men still hold a game in hand on most of their rivals for a Champions League spot.
Mid-table Torino, meanwhile, have just one victory in six top-flight games after surrendering their lead, although Juventus remain the only team to have beaten them in 10 home games.
Belotti came into the game in fine form and it was he who struck in the 21st minute when Iago Falque found Ljajic and his attempted shot was steered in by the striker.
Five minutes later it was two for the hosts after Milan had twice failed to clear the danger. Belotti picked up the loose ball and linked up with Falque, whose pass was brilliantly flicked in by Benassi, with Romagnoli unable to clear from the goal-line.
Torino then squandered a glorious chance to put the result beyond doubt just after the half-hour mark.
A penalty was awarded when Antonio Barreca made ground down the left wing and went down under a clip from Ignazio Abate, but Ljajic fired a dreadful spot-kick straight at Donnarumma and Falque lashed the rebound wide.
Joe Hart was called upon for first time prior to the break, rising high to keep out a long-range shot from Suso before also denying Bertolacci to preserve his side's two-goal advantage.
But Milan did beat Hart within 10 minutes of the restart, Abate's cross from the right leading to chaos in the Torino defence and Bertolacci defeated the England keeper from close range at the second attempt.
Benassi thought he had made an instant response for Torino but was correctly flagged for offside after prodding in when Donnarumma parried Falque's strike.
An end-to-end clash continued with Hart making a magnificent diving save from Gabriel Paletta's header following Suso's cross, before Milan drew level.
From the resulting corner, Luca Rossettini was all over Paletta, prompting referee Paolo Tagliavento to point to the spot for the second time and Bacca did not make the same mistake as Ljajic, comfortably sending Hart the wrong way for his eighth top-flight goal of the campaign.
Torino attempted to re-assert themselves as Belotti shot off-target with a presentable chance and Donnarumma saved well from Ljajic.
But Mihajlovic's side were forced to settle for an entertaining draw soured slightly by Romagnoli receiving his second yellow for a foul on Belotti.
Key Opta stats:
- Andrea Belotti has scored five goals in his last five home games.
- Torino have scored 17 goals in the first half this season, a joint-record in Serie A in 2016-17.
- Torino have missed three penalties in this season: only Bayer Leverkusen have failed more in the top five European Leagues (four).
- Gianluigi Donnarumma have conceded goal only three times on seven penalties faced in Serie A.