May (Angela Bettis) est une jeune femme maladroite et solitaire qui a eu une enfance troublée en raison de son «œil paresseux» qui lui a fait se sentir anormale et déplacée. En tant que petite fille, la mère de May l'emmène chez un ophtalmologiste, qui lui suggère de porter un cache-œil pour corriger sa vision. Malheureusement, cela n'encourage que les autres enfants à se moquer d'elle, notamment lors de leur premier jour d'école, lorsqu'un de ses camarades lui demande si elle est une pirate. Elle a très peu d'interactions sociales avec les gens tout au long de sa vie, son seul «vrai ami» étant une poupée en verre nommée Suzy fabriquée par sa mère et donnée à May pour son anniversaire. Après lui avoir présenté le cadeau, sa mère lui dit: «Si vous ne trouvez pas un ami, faites-en un».
En tant qu'adulte, May travaille dans un hôpital vétérinaire et participe à des chirurgies dans une section de la classe inférieure de Los Angeles. L'ophtalmologiste de May fixe son œil paresseux, d'abord avec des lunettes, puis avec une forme spéciale de lentilles de contact. Alors que May tente d'interagir avec les gens autour d'elle, elle voit Adam (Jeremy Sisto), un mécanicien local, faire le tour de la ville et commence à le suivre. Elle chronomètre ses visites à la laverie locale et ses pauses déjeuner avec la sienne afin de le rencontrer. Le gars apparemment parfait, Adam apprend à connaître May quand elle parvient enfin à avoir le courage de l'aborder et de se présenter à lui, et quand elle lui dit qu'elle est bizarre, il répond: "C'est bon. J'aime le bizarre". May a une fixation sur ses mains, qu'elle considère comme la partie la plus attrayante de lui, et Adam semble aussi la trouver attirante. Ils commencent à sortir ensemble et Adam apprend à May à fumer des cigarettes, la taquinant quand il se rend compte qu'elle n'a jamais fumé auparavant. Il lui donne son paquet de cigarettes et lui dit de «pratiquer». Au même moment, la collègue lesbienne de May, Polly (Anna Faris), qui travaille comme réceptionniste à la clinique vétérinaire, commence à montrer une attirance pour May, tout en se moquant d'elle pour sa bizarrerie. Un jour, alors que May se sent particulièrement mal, elle fait une remarque aléatoire que Polly a un beau cou. Polly donne alors son chat domestique Loopy à May, apparemment à cause des nouvelles règles de sa propriétaire "salope" de ne pas accepter les animaux domestiques.
Un jour, Adam lui montre un film qu'il a réalisé pour son université intitulé «Jack and Jill». Le film muet en noir et blanc révèle l'histoire de deux jeunes amoureux qui partent en pique-nique et finissent par se manger. May devient clairement excité par le cannibalisme flagrant du film et, au cours de ce qui a commencé comme une session intense de fabrication, s'emporte et mord Adam à la lèvre, le faisant saigner abondamment. Adam est finalement dérangé par l'étrange personnalité de May et part. May se sent coupable et blâme sa poupée Suzy (qui a effrayé Adam en la voyant) pour l'avoir encouragée à faire de mauvais choix. Elle lui crie dessus et la pousse dans le placard.
May se fait embaucher dans une école pour enfants handicapés, en particulier pour s'occuper des enfants aveugles qu'elle a vus jouer dans le parc près de son lieu de travail. Elle s'intéresse particulièrement à une fille solitaire nommée Petey, à qui elle pense pouvoir s'identifier. La petite fille aime aussi May alors elle lui donne un cendrier en argile avec le nom de May gravé au centre. À peu près à ce moment, May cède enfin aux ruses de Polly et commence une liaison amoureuse avec elle.
Après qu'Adam a cessé de l'appeler ( parce qu'elle l'a mordu pendant qu'ils s'embrassaient), May se rend chez lui et l'entend accidentellement avec un ami la traitant de folle et disant qu'il est heureux de pouvoir se débarrasser d'elle. Le cœur brisé, May va voir Polly pour découvrir qu'elle est avec une autre fille. De retour à la maison, May est totalement dévasté et quand Loopy refuse de s'approcher d'elle, elle devient furieuse et jette le cendrier d'argile sur le chat, le frappant à la tête et le tuant. Au fil du temps, May s'isole davantage dans son appartement devenant de plus en plus délirante, pensant que sa poupée Suzy lui parle à travers une série de crépitements de sa vitrine (nuances de «répulsion»). Bientôt, May essaie de téléphoner à Adam, qu'il ne décroche pas.
Le lendemain, May est assise sur un banc à un arrêt de bus local quand un garçon punk nommé Blank (James Duval) est assis à côté d'elle et commence à lui parler. Il s'intéresse à ses remarques étranges sur les gens qui ne sont pas tout à fait parfaits mais qui n'ont que des «parties» parfaites. May ne l'aime pas au début, mais dit ensuite qu'elle aime le tatouage qu'il a sur son bras. Ils se rendent à l'appartement de May et Blank commence à flirter avec elle. Lorsqu'il va au congélateur pour obtenir de la glace, il trouve le cadavre du chat enveloppé dans une pellicule plastique. Abasourdi, il commence à paniquer et appelle May un monstre, ce qui l'exaspère; elle le poignarde à la tête avec une paire de ciseaux.
Plus tard, elle va à l'école pour enfants aveugles et leur montre Suzy, sa poupée, en leur disant que c'est sa meilleure amie. Les enfants ne peuvent pas le voir, alors ils veulent toucher. May essaie de garder la poupée à l'écart (car Suzy est délicate) et se débat avec les enfants jusqu'à ce que la poupée tombe et que la vitrine se brise en morceaux tout autour du sol. Les enfants commencent à ramper à la recherche de la poupée et le verre leur coupe les mains et les genoux. May se met également à terre pour sauver Suzy, se coupant dans le processus. Elle est couverte non seulement de son sang, mais aussi du sang des enfants.
Portant Suzy maintenant détruite et couverte de sang, May rentre chez elle. Elle est dévastée par tout ce qui lui est arrivé. Elle gratte même ses yeux irrités, et ils commencent à saigner. Soudain, elle se rend compte que les gens qu'elle avait connus comme ses amis n'étaient pas du tout des amis; il n'y avait que des parties d'entre eux qu'elle considérait comme des «amis». Elle arrive simplement à la conclusion qu'un ami parfait ne peut être fait que de toutes les parties parfaites des personnes qu'elle pensait être ses amis.
La nuit d'Halloween, May s'habille dans un costume fait maison similaire à la robe de Suzy, en lissant ses cheveux et en mettant de la poudre blanche pour le visage, ce qui rend son visage blanc pâteux, ainsi que du rouge à lèvres rouge sang. Elle loue une grande glacière accrochée à un chariot et sort. May se rend d'abord chez Polly.
(Remarque: à partir de ce moment, May adopte également une manière et une attitude «normales», très différentes de son comportement habituel, innocent, balbutiant et enfantin; elle commence à parler à toutes les personnes qui interagissent avec elle sur un ton froid, impassible et impassible. voix.)
Chez Polly, May et Polly poursuivent une conversation normale sur le travail jusqu'à ce que May retire quelques scalpels qu'elle a volés à l'hôpital pour animaux et les place de chaque côté du cou de Polly. Polly se moque d'elle, pensant que c'est une blague et déclarant qu'elle sait que May ne lui ferait jamais de mal jusqu'à ce que May lui coupe soudainement le cou, au grand étonnement de Polly avant de mourir.
Un peu plus tard, Ambrosia, l'autre amante de Polly, arrive à la maison, irritée par la présence de May. May admire ses jambes et lui demande de se retourner pour elle. Ambrosia accepte, mais non sans la traiter de monstre et de faire des commentaires dérisoires sur elle et la relation précédente de Polly. Après cela, May la poignarde des deux côtés de la tête.
Enfin, May se rend chez Adam. Quand elle arrive là-bas, elle découvre qu'Adam est avec une autre fille appelée Hoop (pour ses boucles d'oreilles) qui laisse May entrer, au grand mécontentement d'Adam. Ils s'assoient à table et May demande à Adam de toucher son visage. Adam refuse, ce qui conduit à une discussion entre May et Hoop, qui lui dit qu'Adam est à elle, maintenant. Enfin, elle laisse Adam toucher May. Il pousse avec indignation le front de May et May poignarde Hoop dans le cou. Adam marche en arrière et hurle d'horreur, mais May le poignarde à l'estomac.
De retour à la maison, May commence à concevoir son "nouvel ami", qui est essentiellement une poupée de chiffon grandeur nature Frankenstein-esque faite de ses amis décédés qui sont des parties du corps qu'elle garde dans la glacière qu'elle transporte. Elle utilise les bras de Blank, le cou de Polly, les mains d'Adam, les jambes d'Ambrosia, les boucles d'oreilles de Hoop (toujours sur ses oreilles coupées) et la fourrure de Loopy, pour remplacer les cheveux. La tête et le torse sont simplement des morceaux de tissu différents cousus ensemble et rembourrés, tandis que les autres appendices sont finalement cousus ensemble. May change alors son costume de Suzy, se lave et revient à sa vieille personnalité enfantine.
Une fois que la poupée macabre, nommée Amy - tirée des lettres du nom de May, écrites sur le cendrier maintenant détruit - est terminée, elle se rend compte qu'Amy ne peut pas la voir. Alors, dans un élan de misère, elle arrache son œil droit (le paresseux) avec les ciseaux. Pleurant de douleur, elle le pose sur la tête d'Amy et implore en sanglotant que le jouet la regarde. Exaspérée et douloureuse, May appuie sa tête contre l'épaule d'Amy. May voit soudain son amie prendre vie et toucher son visage avec amour, avec les mains précieuses d'Adam. May sourit.