Bakhtiar Rahmani had given Foolad the lead with 33 minutes gone at Ekbatan Stadium and, although Mehdi Mohammadi equalised six minutes later, Saeed Ramezani put the visitors in front for a second time. Reza Norouzi levelled for Steel Azin before Mahdavikia saw red for what seemed an innocuous protest to the assistant referee after 68 minutes. Gholamreza Rezaei then netted the winner eight minutes from the end.
Leaders Sepahan, meanwhile, increased their advantage at the top of the table to six points with a 5-1 dismantling of Saipa. The hosts led at the break through Ibrahima Toure before two goals from Emad Mohammed and efforts from Ahmad Jamshidian and Ehsan Hajysafi, all in the space of 20 minutes, saw off Saipa, for whom Saeid Yousefzadeh got on the scoresheet.
Second-placed Zob Ahan were held to a 1-1 draw at Saba Battery, with Payam Sadeghian cancelling out Mohsen Bayatinia's opener. Bottom side Abu Moslem collected just their fourth win of the season with a 3-0 triumph over Moghavemat. Davoud Abbasi, Reza Nasehi and Junior all netted in the first half, while Moghavemat saw Behnam Afsheh dismissed six minutes after the break.
Elsewhere, Rah Ahan won 3-1 at Est Ahvaz, Mohammad Ahmadpouri's goal helped Shahin see off Pas Hamedan while Teraktor Sazi beat Malavan 2-1.