The victory trimmed Bayern Munich's lead at the top of the table to just a point after the champion was held 1-1 at home against Werder Bremen earlier in the day.
It was the first time the 20-year-old Haaland had scored four goals in a game for Dortmund since his January debut, with all of them coming in the second half.
"I drank a Red Bull at half time, I got some wings and everything was good," Haaland quipped after the game.
The Norwegian now has 10 goals in seven Bundesliga matches this season to give him a total of 31 goals in 30 games in all competitions for Dortmund.
After Matheus Cunha gave Hertha a first-half lead at Berlin's Olympic Stadium, Dortmund roared back.
Haaland equalised when he tapped home an Emre Can pass on 47 minutes.
He grabbed his second two minutes later with perfect timing to slip his marker and fire in a Julian Brandt pass.
Haaland wrapped up his hat-trick on 62 minutes, just before Raphael Guerreiro stabbed the ball home from close range to make it 4-1.
Cunha converted a late penalty, but the night belonged to Haaland who finished a move he started with 10 minutes to play.
There was still time for history to be made as Moukoko made a late cameo off the Dortmund bench to replace Haaland.
One day after his 16th birthday, Moukoko is the youngest player in Bundesliga history, adding his name to a long list of youthful stars currently playing at the club.
"He's only just turned 16 – that is amazing," Haaland said of Moukoko. "He has a big career ahead of him."
Dortmund's romp in Berlin moved it second in the standings, behind defending champion Bayern, who stayed top despite the draw with Werder.