The Portuguese club recorded a 1-0 victory at the Estadio Jose Alvalade to take a slight advantage into the return leg at Etihad Stadium next week.
Sa Pinto's Sporting side made life very difficult for the English league leaders in the first half, forcing them to constantly lose possession of the ball, whilst coming up with a few scoring chances of their own.
After threatening at stages, Sporting finally made the breakthrough six minutes into the second half courtesy of a goal of great improvisation from centre-back Xandao. City goalkeeper Joe Hart made a double save to deny Matias Fernandez' free-kick and then Xandao's close range attempt but the Brazilian, on loan from Sao Paulo, produced a delightful backheel to send it into the back of the net.
City had to deal with captain Vincent Kompany going off early in the match with a leg injury and at times their defence looked shaky with Hart having to make a few vital saves.
The first of those came in the 10th minute when the England number one denied Joao Pereira before Kolo Toure tested Sporting keeper Rui Patricio with a header from James Milner's cross but the Portugal gloveman was equal to the task.
Sergio Aguero forced a smart save from Rui Patricio straight after the goal when the Argentine struck on target from a tight angle about ten minutes before Ricky van Wolfswinkel should have had Sporting two up when he was found by Emiliano Insua just over six yards out but was unable to beat Hart whose defence had been split open again.
Late in the piece, City had some great chances to level when substitute Mario Balotelli's powerful header had Rui Patricio at bay but could not find its way under the crossbar before Aguero's late effort was denied by Xandao who was perfectly placed to see the Argentine's toe-poked shot away from danger.
Nonetheless, Sporting held on for a huge win to make it the ninth time English visitors had lost the Portuguese side with City's neighbours Manchester United the only team to win in European competition at the ground four-and-a-half years ago.
UEFA Europa League Round of 16 - first leg
Estadio Jose Alvalade, Lisbon - 26,000