Persepolis led 1-0 from the first-leg but Branko Ivankovic's side rarely troubled their Saudi Arabian hosts in the return leg.
Yousef Al Salem gave Al Hilal the lead in the 29th minute before Mohammed Shalhoub put the Saudis in front with a penalty in the 57th minute. Abdulaziz Al Dawsari scored the third goal late in the game.
From the start the Iranians looked comfortable, with Michael Umana and Alireza Nourmohammadi defending well, but as the match progressed Al Hilal looked the more likely to score.
The opening goal came in the in the 29th minute when Nawaf Al Abid's pass released Abdullah Al Dossary down the left and his cutback gave Al Salem time to beat Sousha Makani with ease to make the score 1-0.
Al Salem came close to scoring again just before half-time but his shot was deflected by Nourmohammadi, the ball falling to Saud Kariri who drove his shot over the bar.
The game opened in the second half but Al Hilal looked the better side.
In the 55th minute Al Hilal were awarded a penalty when Faisal Darwish's attempted cross hit Nourmohammadi on the hand.
Shalhoub took the penalty kick to score and make the score 2-0.
In the dying seconds Al Dawsari scored with a shot past Makani before Taremi received his marching orders for a late challenge on Thiago Neves.