Belfodil's opener was quickly cancelled out by Kevin Volland, but after Sven Bender's own goal restored the hosts' lead early in the second half, Belfodil struck again and Andrej Kramaric added another to move Hoffenheim to within a point of their opponents.
Belfodil found the bottom left-hand corner of the net with a low shot just 10 minutes in for Hoffenheim.
But Leverkusen were soon level as Julian Brandt's cross found Volland who headed home.
Problems soon struck Leverkusen, however, as both Karim Bellarabi and Lars Bender hobbled off before half-time.
Hoffenheim themselves lost Joelinton to injury early in the second half but no sooner had he left the pitch than Nadiem Amiri fired them back in front from Pavel Kaderabek's corner.
And it was 3-1 just after the hour when Belfodil capped a counter-attack, before Kramaric claimed the fourth in the 79th minute.