Match ends, Milan 1, Real Betis 2.
AC Milan's winning start to the Europa League was ended by a home defeat as Real Betis beat them at the San Siro.
The Italian club started top of Group F after back-to-back wins but were behind when Paraguay forward Antonio Sanabria tapped home inside the six-yard area.
Giovani Lo Celso doubled the Spanish side's lead in spectacular style, beating former Liverpool keeper Pepe Reina from 30 yards via the post.
Patrick Cutrone made it 2-1 but Milan then had Samu Castillejo sent off.
Betis lead by one point with three of their six group games played. Milan are second, two points ahead of third-placed Olympiakos, who picked up their first win by beating Luxembourg side Dudelange 2-0.
Elsewhere, Lazio extended their advantage over third-placed Marseille in Group H to five points by beating them 3-1 in France.
But Eintracht Frankfurt moved three points clear at the top of that group with a 2-0 victory over Apollon Limassol.
Five-time tournament winners Sevilla picked up their second win and moved top of Group J on goal difference after they thrashed Akhisarspor 6-0 and former leaders FK Krasnodar lost 2-1 at Standard Liege.
FC Zurich came from behind to beat Bayer Leverkusen 3-2 and maintain their 100% record in Group A after Karim Bellarabi had scored twice for the visitors.
In Group B, Red Bull Salzburg made it three wins from three with a 3-0 victory over Rosenborg and in Group C, Zenit St Petersburg fought back from a goal down to beat Bordeaux 2-1 at home, despite Artyem Dzyuba missing a penalty.
Fenerbahce overcame a 2-0 deficit to draw at Anderlecht in Group D, while Villarreal moved level on points with Rangers in Group G with an emphatic 5-0 win over Rapid Vienna.
KRC Genk moved top of Group I with a thrilling 4-2 win over Besiktas in Turkey, where five goals were scored in 17 minutes at the end of the second half.
Match ends, Milan 1, Real Betis 2.
Second Half ends, Milan 1, Real Betis 2.
Samu Castillejo (Milan) is shown the red card.
Giovani Lo Celso (Real Betis) wins a free kick on the right wing.
Foul by Samu Castillejo (Milan).
Attempt missed. Samu Castillejo (Milan) header from the centre of the box is close, but misses to the right. Assisted by Diego Laxalt with a cross.
Substitution, Real Betis. Zouhair Feddal replaces William Carvalho.
Foul by William Carvalho (Real Betis).
Alessio Romagnoli (Milan) wins a free kick in the defensive half.
Pau López (Real Betis) is shown the yellow card.
Corner, Milan. Conceded by Antonio Barragán.
Delay over. They are ready to continue.
Delay in match Aissa Mandi (Real Betis) because of an injury.
Goal! Milan 1, Real Betis 2. Patrick Cutrone (Milan) right footed shot from the centre of the box to the centre of the goal. Assisted by Samu Castillejo.
Loren Morón (Real Betis) wins a free kick in the attacking half.
Foul by Cristián Zapata (Milan).
Substitution, Milan. Andrea Bertolacci replaces Lucas Biglia.
Giovani Lo Celso (Real Betis) is shown the yellow card for a bad foul.
Foul by Giovani Lo Celso (Real Betis).
Suso (Milan) wins a free kick in the attacking half.
Substitution, Real Betis. Loren Morón replaces Antonio Sanabria.
Corner, Milan. Conceded by Sidnei.
Foul by Aissa Mandi (Real Betis).
Patrick Cutrone (Milan) wins a free kick on the left wing.
Delay over. They are ready to continue.
Delay in match Pau López (Real Betis) because of an injury.
Antonio Barragán (Real Betis) wins a free kick in the defensive half.
Foul by Diego Laxalt (Milan).
Samu Castillejo (Milan) hits the right post with a left footed shot from outside the box. Assisted by Patrick Cutrone.
Foul by Sidnei (Real Betis).
Samu Castillejo (Milan) wins a free kick in the defensive half.
Sergio Canales (Real Betis) wins a free kick in the defensive half.
Foul by Giacomo Bonaventura (Milan).
Attempt saved. Suso (Milan) right footed shot from the centre of the box is saved in the bottom right corner. Assisted by Lucas Biglia.
Substitution, Real Betis. Cristian Tello replaces Sergio León.
Foul by Antonio Sanabria (Real Betis).
Davide Calabria (Milan) wins a free kick in the defensive half.
Attempt missed. Lucas Biglia (Milan) right footed shot from outside the box is high and wide to the right. Assisted by Suso.
Attempt blocked. Samu Castillejo (Milan) right footed shot from the centre of the box is blocked.
Corner, Milan. Conceded by Antonio Barragán.