It was Vardy’s first goal in 12 appearances for Leicester in all competitions, ending his longest run without a goal for the club since 2016.
Defender Evans doubled the home side’s lead against his former club in the 26th minute when he headed in Youri Tielemans’ corner.
Iheanacho continued his fine form, making it 3-0 when he collected Vardy’s pass and fired past Sam Johnstone.
Leicester maintained their grip on the game in the second half but lacked their earlier sharpness in attacking areas.
Third-placed Leicester, whose implosion at the end of last season cost them a Champions League place, now have a valuable four-point lead over Chelsea and West Ham, with just six games to go.
It could have been even worse for the Baggies.