Daniele Verde struck for the Little Eagles but goals from Daniel Maldini and Brahim Diaz handed all three points to the Rossoneri at Stadio Alberto Picco.
Spezia have found themselves one point above the relegation zone but risk falling down into the dreaded space when bottom-three Venezia, Cagliari and Salernitana later get their turns of matchday six action.
After a barren first half, Milan took the lead in the 48th minute when Maldini headed home Pierre Kalulu’s teasing cross from the right.
The visitors appeared on course for an away win until 10 minutes to full time when Simone Bastoni set up Verde to put the ball in the back of the net and level the score.
Milan were relentless in their search for victory, pressing on for a winner which they ultimately found as Alexis Saelemaekers teed Diaz up to slot home from close range four minutes to full-time.
Gyasi did not play for the entirety of the game as he was replaced by David Strelec in the 79th minute.
The Ghana winger, who was on target in Wednesday’s 3-2 loss to Juventus, has been a key man for Thiago Motta’s outfit in their second-ever season of top-flight football.
So far this term, the 27-year-old has featured in all six games played by Spezia, scoring twice, but he was not the only African in Saturday’s matchday six tie.
In the Milan starting XI was Cote d’Ivoire midfielder Franck Kessie, who played until the 82nd minute before going off for Diaz who emerged the hero of the day.
Algeria ace Ismael Bennacer also featured for the visitors, coming on for Maldini in the 59th minute.
While Spezia hold a modest season's ambition of keeping their place in the elite division, Milan will be hoping to go one place better than they did last term when they finished second on the table behind city rivals Inter. Read Full Story