53-åringen fick jobbet tillfälligt i februari efter avskedandet av Claudio Ranieri.
Shakespeare, som bara har arbetat som vaktmästare eller nummer två, var Ranieris assistent efter att ha gått med i klubben under f.d. Foxes boss Nigel Pearson.
"Detta är en riktigt spännande möjlighet för mig att fortsätta längs denna nya väg i min karriär", säger Shakespeare.
"Våra förberedelser inför försäsongen och den nya Premier League kampanjen har pågått under en tid, men vi kan nu gå vidare med säkerhet och se till att vi är väl rustade att konkurrera på de nivåer som nu förväntas av en klubb som Leicester City."
Shakespeare vann åtta av sina 16 matcher förra säsongen, vilket ledde klubben till Champions League kvartsfinaler.
Som regerande Premier League mästare, Leicester var en punkt över nedflyttningszonen med 13 matcher kvar när Ranieri avgick.
Men Shakespeare samlade 23 poäng, inklusive vinster i alla sina fem första matcher, för att vägleda klubben till 14: e plats.
Leicester slog Sevilla i den sista 16 i Europas elitklubbstävling, men blev knockad i nästa omgång av Atlantico Madrid.
Vice ordförande Aiyawatt Srivaddhanarabha tillade: "Craig har visat alla de kvaliteter i ledarskap, motivation och talanghantering som krävs för att lyckas i denna roll.
"Dessa egenskaper, i linje med hans förstklassiga coaching acumen, hans kunskap om Leicester City och dess filosofi, och den respekt han har förtjänat på alla nivåer i klubben gör honom till det idealiska valet att hjälpa oss framåt."
Leicester City har kallat vårdare boss Craig Shakespeare som deras permanenta chef på en treårig affär.