With the scores tied at 0-0 at a packed Azadi Stadium, an own goal in stoppage time by Brazilian defender Digao gave the wins an undeserving victory, after their goalkeeper Sousha Makani produced a man of the match performance to keep Persepolis in the tie.
The best scoring opportunity in the match, and Makani's best save, took place three minutes from full-time when Nawaf Al Abid's goal-bound free kick was pushed away by the diving stopper.
In a rather uneventful first half, Persepolis shaded proceedings even though last year's runners-up put the ball in the back of the net in the 28th minute through Salem Al Dawsari. However the referee ruled that the ball had brushed his arm in the build-up.
Persepolis continued to attack in the second half, and Hadi Norozi and spurned more than one half-chance to break the deadlock.
Al Abid was on target with Al Hilal's first real attempt of the second half when his 58th minute shot was well saved by Makani, even though Salem Al Dawsari could only steer the rebound over the bar.
Eleven minutes from full time, Makani denied Al Salem before producing the best save of the night with Al Abid's swerving free-kick.
Shortly afterwards, disaster struck for the visitors when they were reduced to 10 men when Salman Al Faraj was sent off for a professional foul.
And then to make matters even worse for Saudi side, deep into stoppage time Digao pushed Mehdi Taremi's ball over the line to hand the hosts the victory.