Italian news agency ANSA said the Italian football federation (FIGC) decided to reduce the length of the suspension but only by one match after the Swede was dismissed for striking Bari defender Marco Rossi in the chest in an off-the-ball incident.
Ibrahimovic was sent off after receiving a second yellow card 17 minutes from time in Milan's 1-1 draw at the San Siro on March 13 but the Serie A disciplinary commissioner ruled the offence serious enough to merit a three-game ban.
Although the striker will miss the top-of-the-table clash with city rivals Inter, he is now available for the Rossoneri's visit to Fiorentina on April 10.
With eight matches to go, Milan are two points ahead of Inter going into the derby after losing their last match 1-0 at Palermo, the first game of Ibrahimovic's suspension.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.