A costly late error from Girona goalkeeper Paulo Gazzaniga handed Paris Saint-Germain a 1-0 home victory, denying the Champions League newcomers a point. After enduring relentless pressure from PSG, Nuno Mendes's low cross appeared to be comfortably within Gazzaniga's reach, but the keeper fumbled it into his own net in stoppage time, gifting the hosts a win that was reflective of the overall play. Girona's defense effectively contained PSG's attack in the first half, but the French champions began to assert control in the second. Ousmane Dembélé was thwarted by Ladislav Krejci's last-ditch tackle and later hit the post. With Girona seemingly content to settle for a draw, Randal Kolo Muani narrowly missed a shot before Gazzaniga saved Achraf Hakimi's close-range effort with his legs. Despite registering 26 shots to Girona's three, PSG looked set to be frustrated until Gazzaniga's late blunder.

Jamie Gittens scored twice and Serhou Guirassy added a late penalty as Borussia Dortmund capitalized on Club Brugge's missed opportunities with a 3-0 win. Last year's runners-up had their share of luck but took the lead when English winger Gittens, introduced as a second-half substitute, struck in the 76th minute. Gittens collected the ball on the left side of the box and his angled shot took two deflections before finding the far corner. The 20-year-old sealed the victory with a brilliant solo effort, running at the Brugge defense before firing a low shot into the net. Dortmund added a third in stoppage time when substitute Guirassy converted a penalty after being fouled in the area by Brandon Mechele. Brugge will feel hard done by, having hit the crossbar at 0-0 through Hugo Vetlesen and seen penalty appeals dismissed. The Belgian side was also wasteful in front of goal, particularly in the first half, and paid the price when Dortmund found their rhythm late in the game.

Earlier, Sparta Prague made a triumphant return to the Champions League, defeating Red Bull Salzburg 3-0 in their first appearance in Europe's top club competition in 19 years. The Czech champions took the lead just two minutes in when Kaan Kairinen capitalized on a loose ball following a great save by Salzburg keeper Janis Blaswich, slotting home the rebound. Victor Olantuji doubled the lead in the 42nd minute, firing in from a tight angle after a long ball from captain Filip Panak. Olantuji then set up Qazim Laci to make it 3-0 after a defensive error by the Austrian side in the 58th minute.

Bologna were held to a 0-0 draw by visitors Shakhtar Donetsk, who missed an early penalty, in a lackluster contest. The hosts were playing their first European Cup game since 1964 and conceded a penalty just four minutes in when Stefan Posch fouled Eguinaldo. Heorhiy Sudakov's penalty was saved by Bologna keeper Lukasz Skorupski, though, and it proved to be the best chance of a cagey game played in heavy rain. Bologna's best chances came either side of the interval, with Shakhtar keeper Dmytro Riznyk denying Santiago Castro and Giovanni Fabbian.

The first round of games in the new "league phase" are being played over three days, with six matches – including Atalanta v Arsenal, Monaco v Barcelona, and Atlético Madrid v Leipzig – taking place on Thursday evening.