Leipzig's midfielder Naby Keita plays the ball during the German first division Bundesliga football match against FC Schalke 04 January 13, 2018
The 22-year-old Guinea midfielder, who already has a contract with Liverpool to join them next season, showed his class with a thunderbolt of a shot to give Leipzig the lead just before half-time.
The result lifted Leipzig to second, 13 points behind leaders Bayern Munich who won 3-1 at Bayer Leverkusen on Friday, while Schalke drop to third.
Liverpool reportedly want to bring Keita to Merseyside early after losing Philippe Countinho, who signed for Barcelona last week for 160 million euros ($192 million).
However, Leipzig's director of sport Ralf Rangnick insisted Keita will not leave until the end of the season.
"We know that the player will unfortunately leave us in the summer and that he will play with us until the end of the season," Rangnick told Sky.
"That's all there is to it. Neither the player nor Liverpool have contacted us in this regard."
Jurgen Klopp's Liverpool are set to pay around 70 million euros for the midfielder, but reports say they would pay an extra 15 million for Keita to join them early.
After Leipzig's Jean-Kevin Augustin had a penalty saved by Schalke goalkeeper Ralf Fahrmann, Keita struck by rifling a shot home off his right boot on 41 minutes.
He was taken off after fouling Alessandro Schoepf on 54 minutes -- his fifth booking this season which means he is suspended for next Saturday's game against Freiburg.
Schalke drew level on 55 minutes when Brazil defender Naldo headed home, but Leipzig sealed the win with two goals in quick succession as Timo Werner came off the bench to score on 69 minutes after great work from Emil Forsberg.
Portugal midfielder Bruma then slammed home a third goal two minutes later as Schalke suffered a first loss in 13 games, a run stretching back to September.
- De Jong blunder -
Earlier, Nigel de Jong made an unhappy return to the Bundesliga by conceding a first-half penalty as Mainz threw away the lead in a 3-2 defeat at Hanover.
The defensive midfielder played for the Netherlands in the 2010 World Cup final defeat by Spain and won the 2012 Premier League title with Manchester City.
The 33-year-old, who played for Hamburg between 2006 and 2009, has signed for Mainz until the end of the season.
His new club claimed early goals by Japan striker Yoshinori Muto and Alexander Hack.
However, after Hanover striker Niclas Fuellkrug made it 2-1 with a header towards the end of the first half, De Jong brought down midfielder Felix Klaus in the area and the referee pointed to the spot.
Fuellkrug netted the resulting penalty on 38 minutes, then hit the winning goal 15 minutes from time to complete his hat-trick.
The defeat leaves Mainz 15th in the table, just a point above the bottom three, while Hanover climb to 10th.
There was a happier return for Germany striker Mario Gomez, back at Stuttgart after an eight-year gap, as he helped seal a 1-0 win at home to Hertha Berlin.
With time running out, former Bayern forward Gomez was brought down in the area by Hertha's Niklas Stark.
While the German international was appealing for a penalty, the ball looped off Stark's boot and into the net for the winning own goal on 78 minutes.
The result leaves Stuttgart 12th, one place below Hertha, who hit the post through Austria international Valentino Lazaro in the first half.
Elsewhere, Augsburg climbed to seventh with a 1-0 win over strugglers Hamburg thanks to a winning header by South Korea international Koo Ja-Cheol.
Eintracht Frankfurt blew the chance to jump from ninth to third after French striker Sebastien Haller gave them a lead at home to Freiburg, who equalised through a header by defender Robin Koch in the second half in a 1-1 draw.
Werder Bremen and Hoffenheim played out a 1-1 draw as Czech international Theodor Gebre Selassie's second-half goal for hosts Bremen cancelled out Benjamin Huebner's first-half header.