Marco Hoger broke the deadlock in the 71st minute before two substitutes, Raffael and Teemu Pukki, wrapped up the victory.
The win moved the Royal Blues, dumped out of the Champions League by Galatasaray and beaten 3-0 at Nuremberg in their last two games, three points clear of Mainz in fourth.
Hoffenheim, though, look doomed as they slipped to a 17th loss of the Bundesliga season.
Schalke showed their attacking intent early, with Japan international Atsuto Uchida to the fore.
First, his cross into the area picked out Michel Bastos, who set up Jefferson Farfan, but the Peruvian could only fire over the top.
The right-back then played another dangerous ball into the area, which Farfan narrowly failed to get on the end of.
Bastos blazed a shot wide from well out as the hosts looked for the opener, but they were becoming increasingly frustrated.
Hoffenheim held out until the break and continued to stand firm in the second half, albeit while offering almost nothing themselves going forward.
Bastos fired another effort wide, but the introduction of Raffael for the Brazilian in the 63rd minute appeared to do the trick for the Royal Blues.
The breakthrough came from a counter-attack in the 71st minute, Hoger winning the ball on the edge of his own area, spread play out to Farfan on the right and carried on his run to finish off the move by firing past Heurelho Gomes.
Raffael made it two eight minutes later, scoring from close range after Schalke had linked up well down the left.
And Pukki, on in the 74th minute, wrapped up the points seven minutes from time, taking a pass from Rafael and shooting home via the inside of a post.