Brendan Rodgers's Foxes went into the match on the back of three successive wins across all competitions, but struggled to make the most of their superiority in Thursday's (AEDT) clash, with Iheanacho's late equaliser the best they could muster.
For all of Leicester's first-half dominance, Villa was the more effective in the final third, opening the scoring just before the half-hour mark through Frederic Guilbert and then going agonisingly close to a second when Ezri Konsa was denied by the crossbar.
Villa's desire to attack vanished entirely in the second half as Leicester desperately attempted to break them down and eventually substitute Iheanacho capitalised on a defensive mishap to prevent a first-leg defeat.
Leicester initially had little difficulty establishing control, as it created several opportunities during the early exchanges, the best of which arrived in the 22nd minute, when Jamie Vardy's effort from a tight angle was blocked by Orjan Nyland in the Villa goal.
Villa scored against the run of play soon after through Guilbert, who threw himself into the danger zone to prod Anwar El Ghazi's cross past Kasper Schmeichel.
The Leicester goalkeeper was fortunate to not be picking the ball out of the net for a second time just before the break as he was beaten to a brilliant free-kick delivery from Jack Grealish by Konsa, but his header came back off the bar.
Leicester's grip on proceedings only tightened after the break, but Nyland continued to frustrate, rushing out to thwart James Maddison just past the hour when the midfielder had brilliantly made space for himself.
But Nyland was helpless 16 minutes from time, as Iheanacho lashed past him after Douglas Luiz had been caught in possession by Hamza Choudhury.