The captain incredibly rifled home in the seventh minute of added time to repeat his heroics of Wednesday's 2-1 defeat of Genoa and give the Rossoneri a third straight Serie A triumph.
Gennaro Gattuso's men had seemed certain to settle for a disappointing scoreless draw against the out-of-form hosts, but Bram Nuytinck's 95th-minute dismissal for a cynical foul on Samu Castillejo lit the spark for a frantic finale.
Romagnoli's composed finish ensured Milan will take momentum into next Sunday's date with leaders Juventus, though Gonzalo Higuain is a doubt after sustaining a back problem in the first half.
Suso almost struck an early opener for the second game running when he bent a fine attempt around the far post in the 14th minute.
Kevin Lasagna half-volleyed marginally wide at the other end and then created a good chance that Hidde ter Avest screwed across the face of goal.
Granted a reprieve by that miss, Milan's luck turned as an earlier collision with Rolando Mandragora forced Higuain to the bench before Juan Musso acrobatically denied Patrick Cutrone.
Castillejo, on as Higuain's replacement, looked lively after the interval and should have had an assist to his credit on the hour, but an unmarked Suso ballooned a gilt-edged opportunity over.
Nuytinck was shown a straight red for raking Castillejo's calf in a bid to halt a Milan counter-attack and Gattuso's men took advantage.
Romagnoli won possession off Nicholas Opoku in midfield and fired home at the end of what appeared an overworked attack, though celebrations were temporarily halted for a VAR check on an offside flag that proved incorrect.
Gattuso was removed from the touchline after leaving his technical area to confront the assistant referee, but Milan were not denied the three points.
Match-winner Romagnoli is no way forward
The early loss of Higuain laid bare Milan's issues in attack as Cutrone operated largely on the fringes, and relying on a defender to produce stoppage-time goals will not sustain them against Juve, let alone in the longer term.
Nuytinck the catalyst for late collapse
Nuytinck, who only came off the bench in the 84th minute, will argue his sending off for the foul on Castillejo warranted only a yellow, but the Dutch defender's decision not to allow a manageable situation unfold ultimately exposed Udinese, who were left scrambling in the dying moments as they tried to stop Romagnoli from getting the decisive shot away.