Icardi had a fantastic start to the season, with six goals in seven matches, but angered a section of fans known as ''Ultras'' at Inter with comments in his autobiography, which the supporters called ''lies'' in a lengthy statement.
The Argentina forward attempted to placate the fans with a statement of his own on social media but he was jeered as he walked out ahead of the match, and was greeted in the San Siro by banners insulting the player.
A threatening banner was also left outside Icardi's house.
Inter vice-president and club great Javier Zanetti has hinted Icardi could even lose the captaincy.
The situation has got so bad that Inter fans even cheered after Icardi sent his penalty woefully wide of the right post in the 26th minute after he had been pushed over by Bruno Alves.
''We'll talk about it tomorrow, calmly, with respect to the footballer and respect to the fans,'' Inter coach Frank De Boer said. ''We have to find a solution because this situation is not good.
''It's the most difficult moment since I've been in Italy. It's not a question of bad luck. I didn't expect this defeat. In the first 70 minutes we controlled the match. Then, after scoring, we forgot to play. With respect to Cagliari, we have to win against teams like them. Today instead I saw a team which didn't want to win and I think it's a mental matter.''
Joao Mario gave Inter the lead 10 minutes after halftime, finding Ivan Perisic and then racing into the box to collect the return pass. Cagliari goalkeeper Marco Storari saved his initial effort but Joao Mario tapped in the rebound.
However, Federico Melchiorri equalized in the 71st and had a hand in the second, five minutes from time, as his deflected cross was turned in by Inter goalkeeper Samir Handanovic.
Melchiorri has now scored two goals in his only two Serie A matches after a difficult few years that saw him undergo brain surgery and also return from a serious knee injury.
Cagliari, which won the second division last season, moved above midtable Inter to seventh place. midtable.
CHIEVO VERONA 1, AC MILAN 3
The match in Verona was a fight for third spot in Serie A.
And two stunning strikes saw AC Milan's young team - which included two teenagers in the starting lineup - move level with second-place Roma, below the capital side on goal difference alone.
Next up is the visit of Serie A leader Juventus but Milan coach Vincenzo Montella played down talk of a title fight with the five-time defending champion.
''Talk of that doesn't belong to us because we have to keep a low profile,'' Montella said. ''Last year Inter was top until January, it seemed as if it had already won the title and then we know how it ended.
''Our aim is to get back into Europe, it's been too long that this team, with all its talent, has been out of European competition. These lads need confidence and the results help the players express themselves better and increase self-awareness. The team has to always have this desire to aim to get back into Europe.''
Juraj Kucka broke the deadlock on the stroke of halftime with an unstoppable effort into the top left corner from 25 yards.
M'Baye Niang doubled Milan's lead immediately after the break with another long-range shot, which flew into the far side of the net.
The 21-year-old celebrated his goal by holding up and kissing a shirt with Riccardo Montolivo's name on it. The Milan captain is sidelined for six months with another injury.
Chievo got back into the match in the 76th with a magnificent goal of its own, a free-kick from former Milan winger Valter Birsa.
Milan sealed the match with a slice of luck as Chievo defender Dario Dainelli tried to block Carlos Bacca's effort, which looked as if it was going wide, but only succeeded in turning it into his own net.
It was Chievo's first defeat at home since January.
LAZIO 1, BOLOGNA 1
Lazio could have moved second in Serie A, instead it needed a controversial last-gasp penalty to rescue a point against Bologna.
Lazio, which also hit the woodwork, thought it had leveled in the 69th but goalline technology showed the ball had not crossed the line - sparing the blushes of Erick Pulgar, whose backpass set up the chance.
The capital club did level in the sixth minute of stoppage time when Ciro Immobile converted from the spot with the last kick of the game.
However, television replays showed it was a harsh decision against Bologna defender Marios Oikonomou because Lazio defender Wallace appeared to dive.
Bottom club Crotone appeared to be heading for its first-ever Serie A win after on-loan forward Diego Falcinelli gave it a second-minute lead against his parent club Sassuolo.
However, substitutes Stefano Sensi and Pietro Iemmello scored in the final seven minutes to pull out a 2-1 win.
Both teams also hit the woodwork twice.
Elsewhere, 10-man Genoa drew 0-0 against Empoli, as did Fiorentina against Atalanta.