Farhad Majidi had put the hosts ahead midway through the first half but it was not enough to hand his side all three points as Cote d’Ivoire striker Keita struck with three minutes remaining.
Esteghlal were the better side in the opening exchanges and their first chance arrived in the sixth minute when the lively Iman Mobali drove a curling free-kick into the penalty area and all it needed was the slightest of touches but keeper Saad Al Sheed showed great reactions to deny Hanif Omranzadeh.
Al Sadd had a great chance in the 21st minute when Leonardo raced onto a clever long ball from inside the Qatari side’s own half and dribbled into the area but his shot struck the chest of Esteghlal keeper Vahid Talebloo.
But it was the hosts who took the lead five minutes later when the ever-dangerous Mobali crossed into the area and after Al Sadd failed to clear the danger the ball eventually fell to skipper Majidi, who delivered a well-struck effort into the corner of the net.
It seemed as though Al Sadd needed to concede a goal to get themselves into the match and they stepped up the pressure as they searched for the equaliser.
Esteghlal, though, thought they had a second three minutes before the break when Mehdei Amirabadi fired a long-range strike that forced Al Sheeb into a save. Majidi pounced on the loose ball and lashed home but the goal was ruled out for offside.
Al Sadd came out strong after the restart as Keita sent a free-kick over the bar while Leonadro went even closer when he directed a dangerous header goalwards but Taleboo did well to clear the danger.
Majidi, though, remained a constant threat and he was almost provider in the 67th minute when his low cross just failed to reach Mohamedmehdi Seyed Salehi.
Goalscoring chances dried up after that but when one of note did arrive it produced the equaliser when Leonardo found himself inside the area and his ball deflected off Pejman Montazeri straight to Keita, who nodded home from close range to earn a point for the visitors.