After a sluggish start the game exploded into life in 23rd minute when the hosts took the lead through Faisal Al Sultan only for Siavash Akbarpour to equalise from the penalty spot a minute later.
Esteghlal then went ahead in the 32nd minute through Hossein Kazemi but Tarik El Taib drew Al Shabab level three minutes into the second half.
The game looked destined to be heading for extra time but Al Gizani, who had only been on the pitch for a matter of minutes, grabbed a last-minute winner for Al Shabab.
The match had only come to life when Al Shabab opened the scoring with the first real chance for either side after 23 minutes when a ball into the box fell kindly for Al Sultan, who shrugged off the challenge of a defender before despatching a clinical finish into the back of the net.
But Esteghlal were level just one minute later when Farhad Majidi was brought down inside the area and Akbarpour made no mistake from the penalty spot, sending his effort beyond the goalkeeper’s left.
The visitors then took the lead just after the half-hour mark when Majidi fed a pass to Kazemi who took advantage of a defensive error by Abdullah Shuhail to fire beyond Waleed Abdullah from close range.
Esteghlal should have got a third just before half time when Mohsen Yousefi broke with the ball towards goal before squaring a pass for Majidi but the striker’s effort was denied by the body of Abdullah.
But Al Shabab drew level soon after the restart when El Taib received the ball with his back to goal, turned sharply in the box before stabbing a shot into the back of the net.
That goal put the hosts in the ascendancy and Al Sultan drilled a shot against the left upright before the forward drew an impressive save from keeper Mohammad Mohammadi.
Flavio was just denied getting the direction he wanted on a shot for Al Shabab after 70 minutes by the boot of a defender.
Abdullah kept his side level seconds later when he superbly palmed away Kazemi’s point-blank header before the woodwork denied Esteghlal with 10 minutes remaining when Majidi’s low shot struck the post.
But the hosts snatched the win and with it their place in the last eight when substitute Al Gizani nodded home after the ball had been chipped goalwards from the right of the area by an Al Shabab player.
Al Shabab then endured a nervy finish as Esteghlal threw everyone forward but they held firm to secure the win.