The visitors made a bright start to the match, and took the lead inside the opening five minutes when Florian Klein picked out Moritz Leitner with a through-ball, leaving the midfielder to drill the ball in from the centre of the box.
Ben-Hatira and Kalou both had chances to give the home side the lead before half time, but a string of saves from Kirschbaum kept the teams level at the break.
The save proved vital shortly after as Kalou slotted home his second of the night to give Hertha the lead, sliding the ball in following a quick move from Stocker.
Roy Beerens scored his first goal of the season with just over 15 minutes still to play to give the home side a two-goal cushion, striking the ball first time from a Ben-Hatira cross.
Stuttgart pushed hard to try to reduce the deficit late on, and were given some late hope when Lustenberger deflected the ball into his own net while trying to clear from a Leitner free kick.
The result moves Hertha up to 12th in the table, while Stuttgart sit 15th.