Haaland scored with a penalty to level the score at 1-1 with his 86th goal in his 89th match in all competitions since 2020, as Dortmund finished runners’-up to champions Bayern Munich.
He will join Manchester City next season in a multi-year deal.
Hertha took the lead with an 18th minute penalty, after Ishak Belfodil was brought down in the box and he stepped up to convert the spot kick himself.
Dortmund, bidding farewell to several players as well as long-time sports director Michael Zorc, took a long time to react.
But Dortmund eventually got a penalty of their own for a hand ball by Marvin Plattenhardt, and Haaland, who also scored on his debut in the Bundesliga, scored on his final appearance for the club to make it all square.
Youssoufa Moukoko‘s superb low shot in the 84th that went in off the post snatched the three points for the hosts as Hertha finished in 16th following a dramatic stoppage-time winner for VfB Stuttgart over Cologne that lifted them to 15th and safety.
Hertha coach Felix Magath, who took over in mid-March with the team anchored in 17th place, had been looking to lead them to safety but he must now prepare his men for a playoff battle if they are to avoid relegation.