AC Milan were held to a thrilling 3-3 draw by Roma after leading on three occasions, with Zlatan Ibrahimovic scoring twice for the Serie A leaders.
Ibrahimovic, 39, gave Milan the lead in the second minute before Edin Dzeko headed Roma level 12 minutes later.
Alexis Saelemaekers put Milan back in front two minutes after the break and Roma hit back again in the 71st minute with a controversial penalty converted by Jordan Veretout.
Milan regained the lead with a penalty converted by Ibrahimovic, his sixth league goal of the season, but Marash Kumbulla equalised again for Roma with six minutes left.
Milan have 13 points from five games, two ahead of Napoli and Sassuolo, while Roma have eight.
Milan got off to a flying start with a goal in the second minute. Rafael Leao chipped the ball over the Roma defence where Ibrahimovic, lurking behind Kumbulla, stuck out his right leg and diverted it past Antonio Mirante.
Roma were quickly level as a debutant Milan goalkeeper Ciprian Tatarusanu misjudged a corner and the ball flew over him to the far post where Dzeko outjumped his marker to head in.
Tatarusanu, signed from Olympique Lyonnais, was brought into the side at the last minute after Gianluigi Donnarumma tested positive for COVID-19.
Leao also set up Milan's second goal two minutes after the break when he got away down the left and pulled the back into the area for Saelemaekers to side-foot past Mirante.
Roma levelled again in controversial circumstances in the 71st minute.
Ismael Bennacer and Pedro collided as they went for a loose ball, the referee gave the penalty to Roma amid angry Milan protests and Veretout converted.
Milan also won a contentious penalty eight minutes later when Gianluca Mancini collided with Hakan Calhanoglu and Ibrahimovic calmly scored, leaving Roma to protest.
Roma's 84th minute equaliser came from another corner and Ibrahimovic was also involved when he stuck out a leg at the near post and deflected the ball into the path of Kumbulla who volleyed in.