AC Milan moved four points behind Serie A leaders Inter Milan by beating Roma.
Franck Kessie put Milan ahead from the penalty spot after Roma’s Federico Fazio fouled Davide Calabria.
But Roma’s Jordan Veretout equalised with a fine finish from 18 yards out after five minutes of the second half.
However, after striker Zlatan Ibrahimovic went off to protect a groin injury, Milan scored the winner through Ante Rebic’s shot on the turn following Alexis Saelemaekers’ pass.
Milan will play Manchester United in the Europa League last 16 over two legs on 11 and 18 March in matches that would see Ibrahimovic, who spent a season and a half at Old Trafford, potentially feature against his former side.
The Swedish striker appeared to suffer a groin injury midway through the first half, but was still able to play until the 58th minute and was heavily involved.
Ibrahimovic, 39, has scored 14 Serie A goals this season and had numerous chances to add to that total but had a strike tipped over, another effort cleared off the line, a goal disallowed, he backheeled a chance wide and also headed over.
Milan’s Simon Kjaer headed against the crossbar and Rebic and Saelemaekers had shots saved as the visitors dominated, before Kessie converted a penalty.
The referee had originally not given a spot-kick, but changed his mind after watching the incident on a pitchside monitor following a video assistant referee check.
Roma’s ex-Manchester United and Arsenal midfielder Henrikh Mkhitaryan had a goal disallowed and shot wide with only goalkeeper Gianluigi Donnarumma to beat before Veretout made it 1-1, but Milan regained the lead again eight minutes later.
Second-placed Milan had failed to win in their past four games in all competitions and are aiming for their first league title since 2010-11.
Earlier on Sunday, Inter won 3-0 at home to Genoa with goals from former Manchester United trio Romelu Lukaku, Matteo Darmian and Alexis Sanchez.