Manchester United at one stage threatened to steal a point from a dreadful performance but the Foxes rallied to secure their best win of an indifferent start to the season.
The defeat ends United’s English league record 29-game unbeaten run away from home.
It all started so well for United when Mason Greenwood’s brilliant long-range strike put them in front after 18 minutes but Leicester were level before half-time when the returning Harry Maguire, who had a nightmare afternoon, was robbed by Kelechi Iheanacho to set up Youri Tielemans for a sweeping finish.
Leicester City were vastly superior after the break and went ahead when Caglar Soyuncu sparked a flurry of late goals when he pounced in a goalmouth scramble with 12 minutes to go.
Marcus Rashford, back as a substitute after three months out following shoulder surgery, looked to have got United out of the hole when he ran on to Victor Lindelof’s long ball to apply an emphatic finish four minutes later.
It was a sign of just how bad United were that they were behind again straight from the restart when Ayoze Perez pulled the ball back for Jamie Vardy to flash a finish high past David de Gea.
There was to be no comeback this time and Patson Daka bundled in at the far post for the fourth in stoppage time.