The 53-year-old was given the job on a temporary basis in February, following the sacking of Claudio Ranieri.
Shakespeare, who has only worked as caretaker or number two, was Ranieri's assistant after joining the club under former Foxes boss Nigel Pearson.
"This is a really exciting opportunity for me to continue along this new path in my career," said Shakespeare.
"Our preparations for pre-season and the new Premier League campaign have been ongoing for some time, but we can now move on with certainty and ensure we are well equipped to compete at the levels now expected of a club like Leicester City."
Shakespeare won eight of his 16 games in charge last season, leading the club to the Champions League quarter-finals.
As reigning Premier League champions, Leicester were one point above the relegation zone with 13 matches left when Ranieri departed.
But Shakespeare collected 23 points, including wins in all his first five games, to guide the club to 14th place.
Leicester beat Sevilla in the last 16 of Europe's elite club competition, but were knocked out in the next round by Atletico Madrid.
City vice-chairman Aiyawatt Srivaddhanaprabha added: "Craig has shown all the qualities in leadership, motivation and talent management that are required to be successful in this role.
"Those qualities, aligned with his first-class coaching acumen, his knowledge of Leicester City and its philosophy, and the respect he has earned at every level of the club make him the ideal choice to help take us forward."

It had been thought that being unhappy was bad for health - particularly for the heart.
But the decade-long analysis, published in the Lancet, said previous studies had just confused cause and effect.
However, experts argued that unhappiness in childhood may still have a lasting impact.
A series of studies had shown that how happy people are, strongly predicts how long they are going to live.
Ideas included detrimental changes in stress hormones or the immune system resulting in a higher risk of death.
But the research team in the UK and Australia said those studies failed to deal with reverse causality - namely, that people who are ill are not very happy.
Participants in the Million Women Study were asked to regularly rate their health, happiness and levels of stress.
The results showed that whether people were "never", "usually" or "mostly" happy had no impact on their odds of dying during the duration of the study once other factors such as health or whether they smoked were taken into account.
Dr Bette Liu, one of the researchers at the University of New South Wales in Australia, said: "Illness makes you unhappy, but unhappiness itself doesn't make you ill.
"We found no direct effect of unhappiness or stress on mortality, even in a 10-year study of a million women."
Co-author Prof Sir Richard Peto, from the University of Oxford, said light smokers had double the risk of an early death and regular smokers had three times the risk of dying during the study period, but that happiness was "irrelevant".
He said it could have indirect effects if people started consuming large amounts of alcohol or massively overeating, but happiness itself "does not have any material, direct, effect on mortality".
But he warned the myth may be too entrenched to shake off: "People will still believe stress causes heart attacks after this story has been and gone.
"It isn't true, but it suits people to believe it."
In a commentary, Dr Philipe de Souto Barreto and professor Yves Rolland from the University Hospital of Toulouse in France, said: "Further research from a lifecourse perspective is needed since happiness during critical periods, such as childhood, could have important consequences on health in adulthood."
Leicester City have named caretaker boss Craig Shakespeare as their permanent manager on a three-year deal.
[NEXT_CONCEPT]
Being miserable or stressed will not increase your risk of dying, according to the UK's Million Women Study.