The Algeria forward headed into his own goal to give Schalke the lead, then capped his team’s impressive fightback with a clinically-taken goal in stoppage time.
Sporting’s win left them third with four points from four games in Group G, one point and place behind their German opponents and with a better head-to-head record.
Last season’s Portuguese Primeira Liga runners-up were left seething two weeks ago when a controversial stoppage-time penalty gave Schalke a 4-3 win after Sporting had fought back from 3-1 down to level at 3-3.
Schalke went ahead with their first attack after 17 minutes when Slimani touched Dennis Aogo’s floated free kick into his own goal.
Mouhamadou-Naby Sarr levelled nine minutes later, heading in a free kick, and Brazilian left back Jefferson fired the hosts in front seven minutes after halftime when he rifled a powerful, low shot past Ralf Faehrmann from 25 metres.
Sporting goalkeeper Rui Patricio then made a crucial save when he managed to take the ball off Chinedu Obasi’s foot as the Nigerian seemed certain to round him and score into an empty net.
Nani put Sporting further ahead in the 72nd minute after Andre Carillo burst down the right and rolled the ball across the face of goal to leave the on-loan player from Manchester United with the simplest of tasks.
Although Aogo pulled one back for Schalke, Slimani settled matters when he burst clear of Roman Neustaedter on the break and placed his shot out of Faehrmann’s reach with a perfectly-timed finish.
“We did far too little to win,” Schalke striker Klaas-Jan Huntelaar told Sky. “We scored two goals from two chances so at least we were efficient.”
(Writing by Brian Homewood in Berne; editing by Toby Davis)