The Spain midfielder was dismissed for a second bookable offence in stoppage time at the Nou Camp on a night when Lewandowski was unable to open his LaLiga account at the first time of asking.
Joselu won and converted a penalty in the eighth minute of added time as Espanyol staged a remarkable fightback to draw 2-2 at Celta Vigo.
Goals from Iago Aspas and Goncalo Paciencia either side of half-time looked to have put the hosts in the driving seat, but Edu Exposito halved the deficit with 18 minutes remaining before Joselu held his nerve to earn a point.
Villarreal substitute Alex Baena scored twice inside the final nine minutes to ease his side to a 3-0 victory at Real Valladolid.
Nicolas Jackson opened the scoring with 49 minutes gone, but Baena killed off any hopes of a fightback with 81st and 90th-minute strikes.
Trailing to Rodrigo Becao’s second-minute effort, Milan levelled through Theo Hernandez’s 11th-minute penalty before Rebic and Adam Masina traded goals.
However, Brahim Diaz restored the home side’s advantage after the break and Rebic made sure.
Assan Ceesay’s equaliser looked to have claimed a point for Lecce, but substitute Denzel Dumfries won it for the visitors in the fifth minute of stoppage time.
Ademola Lookman was also a late, later scorer in Atalanta’s 2-0 win at Sampdoria.
The former Everton midfielder’s 95th-minute goal cemented the lead his side had taken through Rafael Toloi in the first half.
Goals from Aleksey Miranchuk and Antonio Sanabria handed Torino a 2-1 win at promoted Monza, for whom Dany Mota pulled one back in the dying seconds.
Falaye Sacko’s own goal set the ball rolling before Neymar added a second from the penalty spot and then headed home a third.
Wahbi Khazri pulled one back for the visitors, but Mbappe and Renato Sanches made it 5-1 before Enzo Tchato’s late consolation strike.
Summer signing Breel Embolo claimed a point for 10-man Monaco as they scrapped their way to a 1-1 draw with Rennes.
The home side had Youssouf Fofana sent off for a challenge on Martin Terrier with just 15 minutes gone and trailed to Gaetan Laborde’s 59th-minute goal before Embolo intervened.
In Germany, Timo Werner’s debut goal on his Bundesliga return was only enough to secure a point as 10-man RB Leipzig were pegged back by Cologne.
Werner, back at his former club following his £25.3million departure from Chelsea, struck after 36 minutes, although Florian Dietz levelled almost immediately before Dominik Szoboszlai was sent of for violent conduct in first-half stoppage time.
Christopher Nkunku restored Leipzig’s lead 11 minutes after the break but substitute Josko Gvardiol’s own goal made it 2-2.
Munas Dabbur came off the bench to head Hoffenheim to a 3-2 comeback victory over Bochum.
🗣️ Oliver Burke after #SVWVfB:
"I'm really happy with my goal and I think it was a really important point for us. I found we played well overall. The fans were incredible; they support us the entire time as if it's the final minutes of the game."#werder pic.twitter.com/5BiY01Ms6E
— SV Werder Bremen EN (@werderbremen_en) August 13, 2022
Simon Zoller’s quick-fire double put he visitors 2-0 ahead inside 13 minutes, but goals from Christoph Baumgartner and Ozan Kabak had the home side level within 10 minutes to set the stage for Dabbur’s late winner.
Andre Hahn left it late to clinch three points for Augsburg was they won 2-1 at Bayer Leverkusen.
Substitute Hahn scored with eight minutes remaining after Charles Aranguiz had cancelled out Fredrik Jensen’s opener for the hosts.
Elsewhere, Oliver Burke scored a 95th-minute equaliser after coming off the bench as Werder Bremen came from behind to draw 2-2 at home to Stuttgart, and Schalke needed a Marius Bulter penalty in the third minute of stoppage time to match their feat against Borussia Monchengladbach.
Daichi Kamada’s equaliser handed Eintracht Frankfurt a 1-1 draw at Hertha Berlin, who led through Suat Serdar’s third-minute effort.