Real Betis ended Milan's perfect start to their UEFA Europa League campaign after defeating the Rossoneri 2-1 at the San Siro.
Antonio Sanabria bundled home from close range to open the scoring on the half-hour mark, before Giovani Lo Celso doubled the lead ten minutes into the restart with a terrific strike from 25 yards.
Substitute Patrick Cutrone reduced the deficit late on, before Samu Castillejo, who provided the assist for the Italian, saw red for a reckless challenge on Lo Celso in injury time.
Check out our breakdown of the game below.
Key Talking Point
Milan were sloppy in possession, making several loose passes, and when they were able to complete their passes they weren't in dangerous areas of the pitch.
The Rossoneri couldn't deal with the width of the field utilised by their opponents. They were outnumbered in midfield and couldn't get close enough to the away side's wing backs, whose quality deliveries proved to be too much for the defensive partnership of Zapata and Romagnoli.
Starting XI: Reina (5); Calabria (5), Romagnoli (5), Zapata (5), Laxalt (6); Bakayoko (5), Biglia (6), Bonaventura (6); Castillejo (6), Higuaín (5), Borini (5).
Substitutes: Suso (5), Bertolacci (5); Cutrone (7*).
STAR MAN - Cutrone came off the bench as he did in his last Europa League match to find the net.
He wasn't heavily involved over the course of the 45 minutes that he did play, but showed great attacking instincts and determination to run across his man and latch onto Castillejo's delivery and tap in.
Key Talking Point
Betis didn't see as much of the ball compared to Milan, but were patient in possession and moved the ball well, with their wing back system paying dividends in the first half.
Their central midfield trio of Carvalho, Canales and Lo Celso dictated the tempo of the game, allowing the side to move
The second half followed the same pattern with Betis, who were rarely troubled until the late goal, taking advantage of Milan's lack of pressure to double their lead.
Starting XI: López (6);
STAR MAN - Lo Celso was terrific for Betis. He was involved in almost every opportunity his side created and provided the assist for Sanabria to score the opener.
He seemed to have a good relationship with wing back Firpo, who he combined with on numerous occasions throughout the match.
He also doubled his side's lead with a precise strike from outside the area, which capped off a sublime attacking display on the night. He also tracked back and won possession for Betis in his own-half, showing his defensive capabilities and overall commitment to the team.
WORST PLAYER - Betis performed brilliantly and it seems harsh to give someone this accolade, but Sidnei seemed quite rash at times. He overcommitted to challenges and on occasions left his defensive duo exposed.
Milan host fifth placed Sampdoria in their next match, hoping to get back to winning ways in the league, following their Derby della Madonnina defeat to Inter.
As for Betis, they travel to tenth placed Getafe, knowing that a victory would see them leapfrog the Madrid side.