Leverkusen should have been ahead early on when Karim Bellarabi was allowed to find space in the box, but he could only fire wide from an excellent position.
Bellarabi was guilty of being wasteful once again just a few minutes later, although credit correctly went to Rune Jarstein, who responded impressively to push a powerful strike wide.
The deadlock was broken in the 24th minute when a dangerous cross whipped into the box was inadvertently put past Jarstein by Tin Jedvaj.
Hertha struggled to enjoy much more success going forward in the first half, but were close to a second when Julian Schieber saw a header cleared away by a combination of two Leverkusen defenders.
Leverkusen started the second half strongly, and were level in the 50th minute when Jedvaj made up for his earlier mistake by converting from close range after Gonzalo Castro had delivered an inviting ball into the box.
However, the home supporters were left shocked on the hour mark as Hertha regained the lead through Schieber, who took advantage of some poor marking to head home his third of the season.
Hertha's second lead of the game lasted just two minutes, though, as Castro delivered another inch-perfect cross into the box to allow Emir Spahic to head in the equaliser from six yards out.
It looked like Leverkusen's search for a winner would end in frustration when Hakan Calhanoglu rattled the post after finding a yard of space inside a congested penalty area.
However, an enthralling contest was settled in the 74th minute thanks to Brandt, who reacted quickest by slotting home after Karim Bellarabi became the latest player to hit the woodwork.
Hertha's challenge faded after falling behind for the first time, allowing Leverkusen to continue their promising start to the campaign, and Bellarabi added the finishing touch by slotting in following a fast counter-attack late on.