Without suspended top scorer Zlatan Ibrahimovic, Milan took the lead in spectacular fashion through Ante Rebic in the 13th minute, but Mattia Destro's 37th-minute header against his former club levelled things up.
Milan struggled to break down the visitors after the break, but got a stroke of luck when Gianluca Scamacca put through his own net in the 68th minute to edge the hosts back in front.
Genoa threw everything at Milan in search of the equaliser, but Stefano Pioli's men dug in to move on to 66 points from 31 games, eight behind leaders Inter Milan, who play Napoli later on Sunday. Genoa stayed 14th.
Pioli has insisted that Milan's aim this season was not a Scudetto challenge, but securing Champions League football next term, for the first time since 2014.
"Inter have taken too many points to think that we can still fight for the Scudetto," Pioli told DAZN. "I saw a statistic that said we are the third youngest team in Europe -- what the club has done is incredible.
"We could have closed the match out earlier today but the important thing is that we took the field with the spirit to stay in the game until the end."
But while they have the best away record by far in Serie A this season, Milan had won just six of 15 home league matches prior to Genoa's visit.
Hopes of a first home success since beating Crotone on Feb. 7 were raised when Rebic arrowed a fine strike into the net, the Croatian scoring for the second successive match.
Destro's header, his third goal against Milan this season, unsettled the hosts, who could have easily have conceded again before Scamacca's unfortunately intervention -- the ball going in off his back.
Two last-ditch clearances denied Genoa a late equaliser, as Milan equalled their Serie A points tally from last campaign with seven games still to be played.