Julian Draxler's injury-time winner ended Paris St-Germain's losing start to the Ligue 1 season against Metz - despite the absence of the suspended Neymar.
Reigning champions PSG had lost their opening two league games for the first time since 1984-85 and had not lost three league games in a row since 2010.
Thomas Tuchel's side had Abdou Diallo sent off after 65 minutes at the Parc des Princes, but German midfielder Draxler's 93rd-minute header claimed victory for the 10 men.
Tuchel was without the services of world record signing Neymar, who was among five players sent off following an injury-time brawl against bitter rivals Marseille on Sunday.
Brazil forward Neymar has since received a two-match ban after punching Marseille defender Alvaro Gonzalez, whom the 28-year-old claims racially abused him.
The French football authorities are to investigate his accusation.
Gonzalez has denied Neymar's claim.
With Diallo's dismissal - a second booking for pulling Ibrahima Niane's shirt - PSG have now received four red cards in their last two Ligue 1 games - as many as in their previous 62 combined.
The hosts welcomed back goalkeeper Keylor Navas, defender Marquinhos and striker Mauro Icardi after the trio were among seven players to test positive for coronavirus.
But it was former Real Madrid and Manchester United winger Angel di Maria who shone on another frustrating night for the hosts, who had suffered three successive 1-0 losses since their defeat by Bayern Munich in August's Champions League final.
Di Maria created numerous opportunities for his team-mates and was denied by Metz goalkeeper Alexandre Oukidja at close range before eventually forcing Oukidja to parry his cross into Draxler's path at the death.
PSG - winners of seven of the past eight Ligue 1 titles - sit 15th after three matches, four points behind early leaders Rennes.