Derek Thompson (Dwayne Johnson) is a former NHL hockey great who was bumped down to the minor leagues in Lansing, Michigan, after he injured his shoulder. He’s become quite the local hockey legend, though, for being known as The Tooth Fairy, because he checks players so hard, sometimes one of their teeth will get knocked out.
Derek is a bit pessimistic when it comes to dreams coming true, and tells his young, idolizing fans not to have such aspirations of achieving their goals.
When the hockey team signs on an up-and-coming, hotshot named Mick Donnelly (Ryan Sheckler), Derek becomes even more frustrated. Finally, after stealing tooth fairy money from under the pillow of the daughter (Destiny Grace Whitlock) of his girlfriend (Ashley Judd) to use as poker money, and almost telling the young girl there is no such thing as a tooth fairy, Derek sprouts wings and is transported to fairy land.
Derek is punished by Lily (Julie Andrews), the head fairy, to work as a tooth fairy for two weeks. He is assigned a case worker named Tracy (Stephen Merchant) who will help him along the way. Despite some initial pitfalls, Derek becomes really good at his job. He ends up winning back his girlfriend; becoming friends with his girlfriend’s son, Randy (Chase Ellison); helping Tracy get his wings (he was a fairy without wings and had wing envy); and succeeding beyond everyone’s expectations. He is released of his tooth fairy duties.
In the end, though, Derek is sprinkled with amnesia dust by Lily. With no memory of being a tooth fairy, he is returned to earth just in time to see Randy perform his awesome guitar playing at the high school talent show. Derek proposes to Carly to get married and she accepts.