Schalke hit the woodwork twice but it simply was not their day as, after being eliminated from the Champions League by Galatasaray in midweek, they saw their bid for a top-four Bundesliga finish suffer a setback.
Markus Feulner put Nuremberg ahead before half-time with further goals from Alexander Esswein and Mike Frantz earning Michael Wiesinger's side all three points, moving them 10 points clear of the drop zone.
Schalke looked lively early on and only the post prevented Jefferson Farfan from giving them the lead.
A goalline clearance from Timmy Simons then stopped Julian Draxler from opening the scoring before Feulner struck with practically the home side's first shot of the game in the 31st minute.
The second half started in similar fashion with Benedikt Howedes hitting the woodwork as Schalke continued to attack.
Once again, though, it was the home side who took their chances better with Esswein putting them two in front, slotting his shot past Timo Hildebrand after finding room in behind the Schalke defence.
That goal further knocked Schalke's confidence, which was already low after losing to Galatasaray, and their four-game unbeaten streak in the Bundesliga was ended when Frantz made it three in the 87th minute.
He was also given too much room to convert Hiroshi Kiyotake's assist and earn Nuremberg their biggest win of the season.