UEFA Champions League: Sporting 4 Schalke 2
Controversy surrounded the previous meeting between the sides a fortnight ago as Roberto Di Matteo's men won by the odd goal in seven, with a hotly disputed late penalty settling matters.
But, having had an appeal to replay that match rejected, Marco Silva's side channelled their frustrations into an energetic performance in Lisbon.
The victory lifted them off the bottom of Group G, above Maribor and to within a point of second-placed Schalke with two games to play.
The German side took the lead through an Islam Slimani own goal, but Naby Sarr equalised and Jefferson's sensational strike put the hosts in front early in the second half before Nani tapped in to open a two-goal cushion.
Dennis Aogo reduced the deficit late on, but there was still time for Slimani to atone for his error with one at the right end in stoppage time to blow the group wide open.
Fuelled by the perceived injustice in Gelsenkirchen, Sporting started with the greater intensity without creating anything of note.
Schalke, on the other hand, struggled to get a foothold in the game without injured talisman Julian Draxler.
A jinking run from Carlos Mane in the 15th minute typified the hosts' early efforts, exciting the crowd without unduly testing Ralf Fahrmann.
But Schalke stole the lead against the run of play in the 17th minute.
Sarr conceded a needless free-kick 40 yards from goal, and from Aogo's dangerous delivery a combination of Eric Maxim Choupo-Moting and Sporting's Slimani diverted the ball past Rui Patricio.
But it did not take long for Sarr to redeem himself.
The defender showed more desire than any other player in the box to meet Jefferson's 26th-minute free-kick, heading in from six yards to level the scores.
The Bundesliga side remained a threat on the break and almost reclaimed the lead 10 minutes later with what would have been a wonderful team goal. But Max Meyer failed to keep his shot down after being teed up 15 yards from goal.
The game was opening up and Sporting wasted two good chances to take the lead before the break. First, Joao Mario was denied by the feet of Fahrmann, then Mane could not make meaningful contact with his header from six yards after Nani's chipped cross.
Luckily for Sporting Jefferson's contact could not have been sweeter when he put this hosts in front in the 52nd minute.
Nani drew two defenders to the left-hand side of the box before rolling the ball back for the Brazilian to fire low across the goalkeeper from 20 yards on his left foot.
For all their dominance Sporting were indebted to great play from Patricio for preserving their lead in the 66th minute, as he dived at the feet of Chinedu Obasi to prevent a certain goal.
But, just as Schalke seemed to be turning up the pressure, substitute Andre Carrillo demonstrated the effectiveness of fresh legs, racing down the right to tee up Nani for the simplest of tap-ins in the 72nd minute.
Aogo pulled one back for Schalke in the 88th minute, blasting past the goalkeeper after a well-timed run into the box. That set up a tense finale, but the pressure was lifted in stoppage time as Slimani made amends for his earlier own goal.