The hosts returned to the crease at the start of day five earlier today on 105-4, which left them requiring 214 runs for victory.
It appeared that Joe Root and Moeen Ali had frustrated the Indian bowling attack going into lunch, but with the final ball before the break, Ali gloved a bouncer from Ishant Sharma into the hands of Cheteshwar Pujara at fine leg for 39, which brought Matt Prior to the crease after the restart.
The wicketkeeper made a quickfire 12, but he then found Murali Vijay towards the leg-side boundary following another bouncer from Sharma.
Twenty-five-year-old Sharma then accounted for the wickets of Root (66), Ben Stokes (0) and Stuart Broad (8) in quick succession, which made him the first Indian bowler to have achieved a seven-wicket haul at an English ground.
It also left England on the cusp of defeat and when James Anderson attempted a quick run, only to be sent back by Liam Plunkett up the other end, there was too much ground to make up and he was run out by Ravindra Jadeja, which wrapped up the victory for the Indians.
India, who had not won at Lord's since 1986, now lead the five-match Test series 1-0 with three encounters left to play.