Iyer scored 104 from 51 balls with the next highest score coming from Andre Russell who finished with an unbeaten 21 from 11 balls.
Afghan wicketkeeper Rahmanullah Gurbaz (8) again fell cheaply with a thick outside edge to short third man after fellow opener N. Jagadeesan (0) was caught at cover in the second over after Mumbai had been asked to bat first.
Captain Nitish Rana (5) was caught in the deep and hard-hitting Shardul Thakur struggled to 13 off 11 balls before holing out to long off.
Iyer, however, continued to savage the bowling as though he was playing on a different pitch against different bowling, reaching his century from just 49 balls, the first for KKR since Brendon McCullum scored 158 in the very first game of the tournament back in 2008. He smashed four fours and nine sixes before reverse-lapping Australian seamer Riley Meredith to Duan Jansen at short third man.
It was a chastening debut for left-arm seamer Jansen, twin brother of Sunrisers regular Marco, who conceded 53 from his four overs with the consolation wicket of Rinku Singh, who laboured to a run-a-ball 18 with two fours.
Andre Russell belted three fours and a six in the final couple of overs but there was a feeling that KKR had not done themselves justice and should have reached 200+.
Mumbai handed debuts to two left-arm seamers with Arjun Tendulkar, son of Sachin, bowling just two overs at a cost of 17.
The Knight Riders are currently in fifth place on the log with two wins and two losses while perennial slow starters, Mumbai, have played only three matches and won just once.
MUMBAI INDIANS: Ishan Kishan (wkt), Cameron Green, Tilak Varma, Suryakumar Yadav (captain), Tim David, Nehal Wadhera, Arjun Tendulkar, Hrithik Shokeen, Piyush Chawla, Duan Jansen, Riley Meredith
KOLKATA KNIGHT RIDERS: Rahmanullah Gurbaz (wkt), Venkatesh Iyer, N Jagadeesan, Nitish Rana (captain), Rinku Singh, Andre Russell, Sunil Narine, Shardul Thakur, Umesh Yadav, Lockie Ferguson, Varun Chakaravarthy.