Zlatan Ibrahimovic var däremot inte med i Europa League-matchen. Det på grund av att han nyligen testades positivt för covid-19.
Man ställde också i övrigt upp med ett rätt så b-betonat lag mot Rio Ave, som slutade femma i den portugisiska ligan förra säsongen.
Efter en mållös första halvlek tog man ändå ledningen då belgaren Alexis Saelemakers sköt in 1-0 efter en hörna.
Men med knappa 20 minuter kvar att spela kom kvitteringen. Efter ett snyggt väggspel med Lucas Piazon sköt Francisco Geraldes in bollen bakom Gianluigi Donnarumma.
Matchen gick till förlängning och redan efter en minut rann Gelson igenom Milanförsvaret och satte 2-1.
Det såg också ut att bli segermålet, men i förlängningens allra sista sekunder tog Toni Borekovic med handen i straffområdet. Borekovic fick sitt andra gula kort och Milan fick en straff som Hakan Calganoglu förvaltade fint till 2-2.
Straffläggningen i regnet och vinden i Vila do Conde blev minst sagt dramatisk. Det tog tills den åttonde straffomgången innan den första missen kom och då var det italienarnas Lorenzo Colombo som sköt över ribban. Backen Nelson Monte hade chans att bli hjälte, men hans straff gick i stolpen.
I den tionde straffromgången missade bägge lagen igen och den gången var det lagens målvakter som sköt. Bägge lagen missade även omgången efter.
Till slut blev dansken Simon Kjaer hjälte då han avgjorde med lagets tolfte straff och Milan får därmed spela i Europa i höst. För Rio Ave är Europaäventyret över för den här gången.