But the wildest celebrations of the night came in Rome, where Lazio goalkeeper Ivan Provedel headed in the team’s equalizer in the fifth minute of injury time to earn a 1-1 draw with Atlético Madrid. It was the last action of the game.
As the group stage began without either Lionel Messi or Cristiano Ronaldo for the first time since 2002-03, a 16-year-old almost scored on his competition debut for Barcelona.
Lamine Yamal struck the side netting, then saw an effort saved by Antwerp goalkeeper Jean Butez after coming on as a substitute in Barcelona’s 5-0 win over the Belgian team.
Celtic finished with nine players in a 2-0 loss at Feyenoord that stretched the Scottish champion’s winless streak in the group stages to 11 games.
Here’s a closer look at Tuesday’s games:
CITY HAS TO COME FROM BEHIND
Manchester City started its title defense by coming from behind to beat Red Star Belgrade 3-1 at home.
City had 22 shots on goal in the first half yet found itself 1-0 down at the break after Mirko Ivanić played Ghana winger Osman Bukari through to score in first-half injury time.
The linesman raised his flag, but a VAR check confirmed Bukari was onside, setting off celebrations among the 3,000 traveling supporters.
Álvarez equalized right after the break, finishing from a narrow angle after going past the goalkeeper, and it seemed only a matter of time before the second goal arrived as the home team pushed for more.
The otherwise outstanding goalkeeper Omri Glazer was at fault when it came on the hour mark, missing the ball as he went to punch away a free kick from Álvarez that sailed inside the far post.
Spanish midfielder Rodrigo sealed the win in the 73rd.
Leipzig defeated Swiss team Young Boys 3-1 away in the other Group G game.
BARCELONA FLYING
Antwerp endured a chastening evening in Barcelona, where Jelle Bataille’s own goal in the 22nd minute came after João Félix had already scored and set up Robert Lewandowski for another.
There was no respite for the visitors, with Gavi adding another in the second half before Félix grabbed his second.
Porto defeated Ukrainian champion Shakhtar Donetsk 3-1 away in the other Group H game. Shakhtar is playing its home games in Hamburg, Germany because of the Russian invasion of its country.
PSG OFF THE MARK
Mbappé scored a penalty to break the deadlock as Paris Saint-Germain earned a 2-0 win over Borussia Dortmund. Achraf Hakimi scored against his former team to seal what was a deserved win.
Dortmund midfielders Marcel Sabitzer and Marius Wolf both left the field with injuries.
AC Milan was held to 0-0 draw by Newcastle in the other Group F game.
GOALKEEPER HAS LAST WORD
Atlético coach Diego Simeone was booked for protesting on his return to the Stadio Olimpico and Lazio, the club he won four trophies with as a player.
Young Atlético midfielder Pablo Barrios put the visitors ahead in what was a heated game, but the biggest drama came at the end, when Provedel left his area to add support in attack and managed to score with a header to Luis Alberto’s cross.
Provedel didn’t know where to run as the stadium erupted around him.
Also in Group E, Feyenoord had two goals ruled out by VAR for offside and saw a penalty saved in its 2-0 win over Celtic.
Calvin Stengs broke the deadlock in first half injury time but the home team had to wait till the 76th minute for Iran midfielder Alireza Jahanbakhsh to get the second goal.
Celtic defender Gustaf Lagerbielke was sent off with his second yellow card as he conceded the penalty, and substitute Odin Thiago Holm followed him off with a straight red for a dangerous lunge at Mats Wieffer. -AP