The "BVB" rallied back from two goals down as the two goals from Hakimi and one goal from Julian Brandt were enough to snatch all three points from Inter Milan.
The visitors from Italy did not need long to gain a foothold into the game as a long ball into Dortmund's territory allowed Lautaro Martinez to shrug off Mats Hummels before slotting home from the edge of the box to open the scoring with just five minutes played.
Dortmund created their first chance with 18 minutes played when Mario Gotze's effort called Inter goalkeeper Samir Handanovic into action.
Inter staged a well-positioned defence and disrupted Dortmund's build-up play with fast breaks. Hence, the visitors were able to doubled their advantage before the break as Antonio Candreva's square pass found Matias Vecino, who made no mistake to make the most out of Inter's second clearcut opportunity.
Antonio Conte's men took the two-goal lead into the half time also because neither Jadon Sancho nor Axel Witsel were able to pull one back despite promising chances before the break.
Dortmund caught a fairy-tale start into the second half as the hosts halved the deficit after Hakimi tapped home Gotze's through ball inside box in the 51st minute.
The "BVB" gained momentum and pressed Inter into the defence. The hosts efforts paid off at the hour mark after substitute Paco Alcacer set up for Brandt, who curled the ball into the far post corner.
Inter were unable to respond and to put up resistance whereas Dortmund completed their comeback in the closing period when Hakimi exchanged passes with Sancho before wrapping his brace from close range to turn the tides in front of home crowd.
"We showed a great second-half performance and that is what the spectators want to see. The win will give us an impetus for the upcoming games," said Dortmund chairman Hans-Joachim Watzke.
With the victory, Borussia Dortmund move atop the standings in Group F meanwhile Inter Milan slipped to the third place.