Milan got off to the best possible start as Suso fired them ahead after just four minutes, cutting inside onto his left foot before unleashing a fierce shot from 20 yards which whistled into the top corner.
But Genoa were the better side for much of the first half, in a game rearranged after being postponed on the opening weekend following the Genoa bridge tragedy.
Christian Kouame was denied by Gianluigi Donnarumma before Serie A’s top scorer Krzysztof Piatek’s shot deflected inches wide of the post.
The visitors got their deserved equaliser after 56 minutes but needed a slice of fortune as Kouame’s shot looped off Romagnoli, over Donnarumma and into the far corner.
The Rossoneri responded but found Genoa keeper Andrei Radu in inspired form.
But in stoppage time Radu dashed out of his goal to punch clear, only finding Romagnoli 20 yards out, who superbly hooked the ball into the vacant goal.