Leicester City lost their unbeaten start to life in League One after failing to impose themselves against a robust Millwall side.
The Londoners unashamedly subjected the Foxes to a stern physical examination to which they had few answers.
City had started brightly enough with Matty Oakley powering a shot over the bar and Andy King pulling an effort wide.
But it was Millwall who created the first serious chance when David Martin was forced to parry Tresor Kandol's shot with Lewis Grabban driving the loose ball over.
But the Lions made the most of their next opportunity on 20 minutes when Kandol flicked on and Gary Alexander kept his composure to lift the shot over the advancing Martin and into the net.
Matt Fryatt's low cross prompted panic among Millwall defenders before the ball was scrambled away as Leicester pressed for a rapid riposte.
But Millwall held firm until the break and shortly after the restart almost doubled their advantage when Alexander found himself clear in front of goal, but Michael Morrison got back quickly to snuff out the danger.
Referee Pat Miller refused to award City a 55th minute penalty when Millwall's Paul Robinson appeared to pull Steven Howard's shirt repeatedly inside the box.
But as the second half wore on, Leicester continued to struggle to establish their flowing game with rare chances coming on 77 minutes when Paul Dickov fizzed a shot wide and then a few moments later when fellow substitute Dudley Campbell blazed over from a good position eight yards from goal.
City had a last chance in the final minute but another substitute, Aleksandar Tunchev, headed King's corner over the bar.
Then in time added on, Kandol was shown a straight red card for violent conduct against City defender Morrison.