Juventus on Sunday succumbed to their first league reverse of the season, just their second in 32 Serie A outings as goals from Mauro Icardi and Ivan Perisic cancelled out Stephan Lichtsteiner's second-half opener at the San Siro stadium.
In Florence's Stadio Artemio Franchi, midfielder Milan Badelj's 82nd-minute strike helped the hosts end Roma's 20-game undefeated streak in Serie A as the Serie A weekend culminated with the two big matches.
At the end of the weekend, last season's runners-up Napoli are on the lead with 10 points from four matches as Juventus dropped to the second spot with nine points.
Roma, remained in the third spot with seven points, followed by Lazio, Chievo and Inter — all with seven points.
Inter's win comes as a big relief to new head coach Frank De Boer who was under pressure after seeing his side suffer loss to league side Chievo and Hapoel Be'er Sheva in the Europa League.
But Inter rose to the occasion in the much-talked fixture, referred as the Derby d'Italia.
After a cagey and tightly fought first period, the game came to life after the break as Icardi and Perisic struck within 10 minutes of each other, the former equalising moments after Lichtsteiner had smashed home from close range, to swing the 167th in favour of the hosts.
Frank De Boer's side completed the tie with 10 men after Ever Banega was dismissed for two bookable offences but in the end it mattered little as Juventus failed to muster the game's fourth goal in the closing stages.
Happy to cede possession to their hosts early on, the Turin giants carved out the first half's more presentable openings, Sami Khedira surging in behind only to see the offside flag raised and Paulo Dybala seeing a snapshot blocked at point-blank range.
From then up to the half-hour mark, genuine scoring chances would prove to be at a premium until Khedira headed straight at goalkeeper Samir Handanovic from Alex Sandro's excellent left-wing cross and Inter forward Icardi flashed wide from an acute angle on 35 minutes.
Moments later, the Bianconeri were unlucky to see Miralem Pjanic's effort bounce just inches past the post with Handanovic beaten as the interval beckoned.
Although Inter began the second half the stronger, it were Juventus who took the lead on 66 minutes, Lichtsteiner crashing home from inside the six-yard box after Alex Sandro's slalom to the dead-ball line.
The celebrations of the Swiss' first strike of the campaign were short-lived however, as Icardi rose highest to nod home from a corner no more than a minute later and, within 11, the Bianconeri were behind courtesy of Perisic's back-post header, the Croatian netting with his first real touch of the ball after coming off the bench.
Juventus pushed hard for an equaliser in the closing stages, with substitute Gonzalo Higuain going closest with an excellent glancing header after more fine offensive work from Alex Sandro but ultimately could not break down their hosts who pick up their first home win over the Turin side in seven attempts.
Meanwhile, in Florence, it was a tale of two posts for Roma as Badelj fired home via the woodwork — seconds after Radja Nainggolan had seen his effort bounce clear in similar fashion — to secure the win for the hosts.
Badelj found the bottom corner from 20 yards in the 82nd minute to win it for his side, who had created few clear-cut chances of note over the 90 minutes.
It was a bitter blow for the visitors to take, having seen Nainggolan hit the post and substitute Stephan El Shaarawy denied at the death.
There was further controversy to the goal — replay suggested Fiorentina striker Nikola Kalinic had been in an offside position as he jumped out of the way of Badelj's shot on the way to goal — but referee Nicola Rizzoli saw no issue.
Forward Pierre-Emerick Aubameyang believes no-one can stop Borussia Dortmund in the wake ….
Prolific striker Pierre-Emerick Aubameyang has revealed that PSG tried to prise him away ….
An extra-time brace from Cesc Fabregas completed a thrilling 4-2 comeback win for Chelsea….