Nugent has one England cap and was available as a free agent after leaving Portsmouth at the end of his contract. The 26-year-old spent four seasons at Fratton Park after they paid Preston £6million for his services.
He joins Kasper Schmeichel, Neil Danns, Sean St Ledger and Lee Peltier as new signings at the King Power Stadium and Leicester boss Sven-Goran Eriksson told the club's website he was delighted to add Nugent to his squad.
"David is hard-working and will score goals for us. We are very pleased to have him on board as we continue to assemble a squad fit to challenge for promotion," he said.