Inter end Juventus' record unbeaten run
The win leaves second-placed Inter one point behind champions and league leaders Juve and is a sign that Andrea Stramaccioni's side are genuine challengers for the title.
"It hurts to lose, obviously it hurts, but it's right to give credit to Inter, who played in a very intelligent way, with a great will to win," said Juventus captain Gianluigi Buffon.
"I conceded three goals without having all that much to do but that can happen against the players that Inter have, they're very good."
Juve scored straight from the kick off when Kwadwo Asamoah latched onto Mirko Vucinic's through ball and scuffed his shot into the path of Arturo Vidal, who gleefully tapped home from the edge of the six yard box after 19 seconds.
Television replays showed Asamoah was offside when he collected Vucinic's pass but the linesman's flag stayed down.
"We were caught napping for the first goal, even if it was offside, but after that we reacted and played brilliantly. We deserved to win," Milito told Sky Sport Italia.
"It was a really hard match. We knew that it would be like that, we were up against the current champions, a great team like Juventus."
Juve could have doubled their lead after eight minutes when Claudio Marchioso met Andrea Pirlo's delightful through ball with a volley that Samir Handanovic did well to push wide.
Inter must have expected a torrid evening but were unlucky not to level three minutes later when Rodrigo Palacio's header from Esteban Cambiasso's freekick was ruled out for offside.
Inter were giving Antonio Conte's side their toughest game yet but Handanovic saved them from ending the first half two goals down, saving from Vidal who was clean through on goal.
Inter wasted a golden opportunity to equalise eight minutes after the break when Palacio finished a three-on-two counter-attack by shooting over the bar from close range.
They went close again three minutes later when Yuto Nagatomo forced a fine save from Buffon after dribbling past two defenders in the box, but Andrea Stramaccioni's side got the equaliser they deserved just before the hour mark.
Milito was clearly pulled back in the box by Marchisio as Inter worked a smart free-kick routine close to goal and the forward stepped up to smash the resulting penalty past Buffon.
The Argentine piled on the agony for the champions with a quarter-of-an-hour left when Fredy Guarin's powerful shot was pushed straight into his path by Buffon, who could only watch as Milito gobbled up the chance to make it 2-1 to the visitors.
Stramaccioni substituted the striker in a bid to protect the lead and Pirlo nearly took advantage after 83 minutes when his long-range effort was pushed wide by Handanovic.
Nicklas Bendtner came close to his first Juventus goal two minutes later when he raced onto a misplaced Walter Gargano back pass and watched his chip sail just wide of the far post.
However Inter were always dangerous on the break and put the match to bed with a minute to go. Palacio c