Klaas-Jan Huntelaar and Eric Maxim Choupo-Moting put Schalke two goals up, before Mark Uth responded for the hosts.
That was as good as it got, however, as Leroy Sané scored and Fabian Schär scored to complete the scoring.
Schalke start quickly
It took just seven minutes for Schalke to edge ahead and a superb delivery from Younes Belhanda proved to be all it took for Huntelaar to open the scoring. The Moroccan picked the ball up from a quick throw and whipped in a devilish delivery to the forward, who poked past Jens Grahl with ease.
Grahl was then caught in no-mans-land for the second goal, as he attempted to rush out and meet a loose ball ahead of the goalkeeper - who was making his last appearance in a Hoffenheim shirt. Unfortunately for him, it would not be one to remember. Choupo-Moting sped past and slotted into an empty net to double their lead.
Even in the final game of the season, Schalke couldn't make it through the game without an individual error. A poor pass out of the heart of defence saw Andrej Kramaric steal a march on has man before giving the ball wide to Tarik Elyounoussi. The Norway international found Uth in the centre for a simple finish, reducing the deficit.
Royal Blues end on a high
The second half was just as open but Schalke's dominance was there to see, and they made Hoffenheim pay again not long after the break. Huntelaar can count on an assist, although this was all Sané's doing. The midfielder glided through the midfield and defence before sliding past Grahl, as he could only watch the ball trickle in.
The right-hand side provided the way through once more, as a fine passing move found Alessandro Schöpf in space. He drove towards the box but his cross towards the Dutch forward was cut out by Schär, only to deflect it past Grahl. The game was done, Hoffenheim were safe and Julian Nagelsmann had done a remarkable job in his short stint in charge. The future looks bright for them, as it does for Schalke; Christian Heidel will take the club in a new direction.