Factory worker Trevor Reznik (Christian Bale) suffers from insomnia so severe that his condition has taken its toll on his weight and his mental health. When Trevor unintentionally causes an on-the-job accident that horribly injures a coworker (Michael Ironside), he begins to become even more troubled. Despite a relationship with Stevie (Jennifer Jason Leigh), a pretty prostitute, Trevor descends further into paranoia, blaming his problems on an enigmatic figure named Ivan (John Sharian).