Gary Alexander scored the only goal to give Millwall victory ending Leicester's unbeaten start this term.
Millwall took the lead when Kandol flicked on and Alexander lifted his shot over the advancing Martin.
The home side had a strong shout for a penalty turned down when Millwall's Paul Robinson pulled Steve Howard's shirt inside the box.
Leicester's Paul Dickov saw a shot go wide before Kandol was sent off late on for a tackle on Michael Morrison.
Leicester: Martin, Gilbert (Tunchev 34), Hobbs, Morrison, Powell (Dickov 65), Gradel (Campbell 81), Oakley, Andy King, Dyer, Howard, Fryatt.
Subs Not Used: Henderson, Wesolowski.
Booked: Gradel, Tunchev.
Millwall: Forde, Hackett, Robinson, Whitbread, Craig, Grabban (Dunne 90), Abdou, Fuseini, Martin (Brkovic 87), Alexander, Kandol.
Subs Not Used: Edwards, Frampton, Moore.
Sent Off: Kandol (90).
Booked: Alexander, Abdou, Craig, Whitbread.
Goals: Alexander 20.
Att: 19,591
Ref: Pat Miller (Bedfordshire).
Make your League One predictions