Nicolas Gonzalez, who broke the deadlock with a penalty in the 49th minute, floated in a perfect cross for the in-flying Jovic to head the winner in the 87th.
Milan left back Theo Hernandez rifled home the visitors' consolation from the spot in injury time.
The penalty was awarded after Jonathan Ikone surged past Fikayo Tomori and was brought down by the Milan defender.
Milan pushed hard for a response and coach Stefano Pioli made three changes at once in the 66th, sending on Zlatan Ibrahimovic.
It was the Swedish star's second league appearance since his operation on his left knee last May.
But it was another substitute who grabbed the plaudits.
Milan will look to bounce back with their visit Tottenham on Wednesday.
The Rossoneri bring with them a 1-0 lead from the first leg of their Champions League round-of-16 tie.
AAP