James McAvoy, bekend van o.a. de jonge Charles Xavier uit de X-Men films, speelt in deze nieuwe film van M. Night Shyamalan (The Sixth Sense, Signs, The Village) een persoon, Kevin, met 23 persoonlijkheden. Hij bezit er nog een die op het punt staat zich te ontwikkelen en alle anderen over te nemen. Wanneer drie tienermeisjes zijn ontvoerd, komt het aan tot een gevecht om te overleven tussen de verschillende persoonlijkheden die in Kevin schuil gaan.