The visitors got off to the perfect start when Phil Foden scored for a third consecutive Champions League game inside just four minutes, nicking the ball from Hidemasa Morita before firing past Franco Israel’s outstretched leg.
Viktor Gyokeres then uncharacteristically squandered a huge chance minutes later, attempting to lob Ederson but he gave the goalkeeper an easy save instead.
Erling Haaland nearly punished him immediately, as his curling effort was pushed away by Israel.
That was one of four opportunities the Norwegian had to score in the first half, as he also scuffed wide in a promising position before Gyokeres cleared his header off the line.
Haaland’s side-footed volley was then parried by Israel, before Gyokeres levelled proceedings as half-time approached, shrugging off Jahmai Simpson-Pusey on his full City debut before cleverly hitting the ball into the ground and past Ederson - his ninth goal in five Sporting matches.
The equaliser sprung the hosts into life, as just 20 seconds into the second half, Pedro Goncalves fed Maximiliano Araujo with a defence-splitting pass, and he lashed through Ederson’s legs to turn the game around.
Just moments later, Sporting were in dreamland as Josko Gvardiol fouled Francisco Trincao in the box, as Gyokeres stepped up to rifle the penalty into the bottom corner, sending Ederson the wrong way.
However, City were offered a lifeline midway through the half when they were given a penalty for a handball by Ousmane Diomande, only for Haaland to hit the crossbar from the spot.
Gyokeres almost punished them again as he tried to round Ederson, only for the Brazilian to stop him in his tracks, but moments later, the Swede would have another golden chance to get his hat-trick.
Substitute Geny Catamo was fouled by Matheus Nunes in the area, and Gyokeres stepped up again, this time finding the other corner with the resulting spot-kick.
Sporting’s exceptional start to the season continues as they have now won 13 of their 14 games in the UCL and league combined, while City conceded four in the UCL for the first time since 2016, which ends their unbeaten away streak in the competition dating back to May 2022.