After a rousing comeback against Lecce last week, Milan looked to continue their positive momentum with a fast start here, but Yunus Musah fluffed his lines by firing wide with the goal gaping after an incisive Rossoneri attack inside five minutes.
Como assumed control from there, though it took them until beyond the half-hour to finally work Mike Maignan.
The Frenchman was busy from then on, rushing off his line to smother Nico Paz’s effort before being forced to pick the ball out of his net just a minute later.
A well-worked move from Como saw Assane Diao find Paz, whose smart first-time lay-off invited Lucas Da Cunha to strike first time, and he found the bottom corner with an exquisite finish all along the ground.
Marc-Oliver Kempf ought to have doubled the visitors’ lead before the break when he escaped Matteo Gabbia’s attention to meet a cross, but he was denied by Maignan.
Another miserable Milan performance drew the ire of the San Siro faithful as the half came to a close, with whistles rife around the ground as the players headed to the dressing rooms.
Sergio Conceicao responded with a double substitution at the break - including replacing Theo Hernandez - but Como had the ball in the net again within five minutes of the restart.
Da Cunha raced down the right and fired past Maignan with the help of a deflection off Gabbia, but his strike was chalked off the tightest of offsides by VAR.
It was a welcome reprieve for the Rossoneri, who capitalised to restore parity just moments later.
Tijjani Reijnders’ delicate ball into the box found Christian Pulisic on the inside left, and his instinctive strike from an acute angle incredibly found the bottom corner.
It was anyone’s game from there, with Da Cunha forcing Maignan into a good save before Reijnders’ effort kissed the bar on its way over.
The introduction of Tammy Abraham worked wonders for the Rossoneri, and it was his hold-up play that allowed him to release Reijnders down the right to slot home at the near post to put the hosts in front.
Como introduced Dele Alli for his debut - and a first appearance in over two years - in the closing stages as they chased an equaliser, but his return lasted just 10 minutes as he was sent off for a nasty challenge on Ruben Loftus-Cheek.
Milan ultimately held firm to secure back-to-back league wins for only the third time this season to climb into the top seven, while Como’s winless run reached three matches.

Flashscore Man of the Match: Tijjani Reijnders (AC Milan)