The hosts had looked well on the way to taking all three points as they raced into a three-goal lead before the break following a brace from Milad Meydavoodi and a Farhad Majidi strike.
But Hashem Beigzadeh reduced the deficit with a goal on the hour before Milorad Janjus scored twice in three minutes to put Sepahan on course for an unlikely point.
However, Borhani grabbed the winner with eight minutes remaining.
The win moves Esteghlal up to third with 12 points, three behind leaders Perspolis but having played a game more.
Elsewhere, Naft Tehran and Mes played out a 1-1 draw.