A stoppage-time header by substitute Milan Pavkov earned 10-man Red Star Belgrade a 2-2 home draw with AC Milan in a pulsating Europa League round of 32 first-leg clash, while Leicester drew 0-0 with Slavia Prague.
Milan led 1-0 and 2-1 thanks to a Radovan Pankov own goal and a Theo Hernandez penalty but Red Star, who had Milan Rodic sent off in the 76th minute, hit back through a Guelor Kanga penalty and Pavkov's last-gasp header.
There were plenty of goals about with Young Boys beating Bayer Leverkusen 4-3 at home. The Swiss side led 3-0 with goals by Christian Fassnacht, Jordan Siebatcheu and Meschack Elia but Leverkusen stormed back to level with Patrik Schick twice on target before Siebatcheu struck again in the 89th minute.
- Would you sign 'no-brainer' Mbappe or 'insane' Haaland?
- 'The worst Barcelona team in a decade' - Opinion
Olympiakos beat PSV Eindhoven 4-2 while Bruno Petkovic scored twice for Dinamo Zagreb in a 3-2 victory in Krasnodar.
AS Roma eased to a 2-0 win at Braga with Edin Dzeko scoring early and Borja Mayoral striking late on.
Leicester City were held to a 0-0 draw away to Slavia Prague while Dynamo Kiev and Brugge drew 1-1.
Steven Gerrard’s Rangers scored twice in the final 10 minutes to claim a 4-3 win at Royal Antwerp.
The Gers trailed heading into the dying stages, but Ryan Kent and a Boma Barisic penalty put them in control of the tie ahead of the second leg.
Ajax were another side to leave it late, with a penalty from Dusan Tadic and goal from Brian Brobbey in the final three minutes earning the Dutch side a 2-1 win over Lille.