Bayern hand Spurs record defeat as Real Madrid blushes spared
There were routine wins for Manchester City, Paris Saint-Germain and Atletico Madrid, while Cristiano Ronaldo netted in a comfortable Juventus victory, but most of the drama was in north London.
The evening started well for Spurs as Son Heung-min fired across Manuel Neuer and into the far corner to give Mauricio Pochettino's team the lead against Bayern.
However, the German champions came roaring back to leave Spurs on the receiving end of the biggest ever home defeat for an English team in Europe. It was the first time they had ever conceded seven goals in a home game.
Two super strikes from Joshua Kimmich and Robert Lewandowski had Bayern ahead at the break and Gnabry, the former Arsenal winger, then scored two goals two minutes apart to make it four early in the second half.
Harry Kane reduced the arrears from the penalty spot, but Gnabry ran through to complete his hat-trick on 83 minutes and he smacked in the seventh goal after Lewandowski had netted his second of the evening.
Gnabry is the first player to score four goals against English opposition since Lionel Messi achieved the same feat for Barcelona against Arsenal in 2010.
The result means last season's beaten finalists already face a struggle to qualify from Group B after they drew at Olympiakos in their opening game.
The Greek club were beaten 3-1 at Red Star Belgrade on Tuesday despite Ruben Semedo giving them the lead as the second-half sending-off of Yassine Benzia for the visitors changed the game.
Milos Vulic equalised for Red Star before late headers by Nemanja Milunovic and Richmond Boakye secured victory for the Serbian side, who go to Spurs next.
Meanwhile, Manchester City beat Dinamo Zagreb 2-0 at the Etihad Stadium to make it two wins from two in Group C.
Ilkay Gundogan hit the bar for Pep Guardiola's team in the first half before Riyad Mahrez squared for Raheem Sterling to tap in the 66th-minute opener.
Sterling then turned provider for Phil Foden to secure the points in stoppage time for City.
- Casemiro rescues Real -
In the same group, Israeli forward Manor Solomon netted the winner deep in injury time as Shakhtar Donetsk came from behind to beat Atalanta 2-1 in Milan.
Duvan Zapata had given the Italian side a first-half lead after Josip Ilicic had a penalty saved, but Junior Moraes equalised for the Ukrainian champions prior to the break, before Solomon's late heroics.
In Madrid, record 13-time champions Real were 2-0 down at half-time at home to Club Brugge, for whom the Nigerian forward Emmanuel Dennis scored a first-half brace.
But Zinedine Zidane's team came storming back as Sergio Ramos headed in before Casemiro claimed a dramatic equaliser in the 85th minute, seconds after Ruud Vormer had been sent off for the visitors.
It is a first point for Real in Group A, which is led by PSG. The French club, again missing the suspended Neymar, beat Galatasaray 1-0 in Istanbul thanks to Mauro Icardi's second-half goal.
- New Ronaldo landmark -
Meanwhile, Gonzalo Higuain set Juventus on their way to a 3-0 win over Bayer Leverkusen in Turin before he set up Federico Bernardeschi to double their lead and Ronaldo completed the scoring late on.
That strike means the 34-year-old Portuguese forward has now scored a Champions League goal against 33 different opponents, equalling a record set by Raul.
Maurizio Sarri's team share first place in Group D with Atletico, who ran out 2-0 winners away to Lokomotiv Moscow thanks to second-half goals by Joao Felix and Thomas Partey.