斯·欧唐纳、比利·库达普、史蒂芬·杜夫，但金马伦觉得有些演员太老了，不适合20岁的杰克。汤姆·克鲁斯有兴趣饰演杰克，但是片酬过高。金马伦考虑过杰瑞德·雷托，但对方拒绝试镜。当时21岁的李奥纳多·狄卡皮欧最后得到金马伦的注意。虚构的女主角萝丝为一名来自美国费城的贵族女孩，但是父亲去世后家庭债务缠身，被迫与矿业大亨的儿子订婚。导演描写她是「一个心胸开阔，想探索和冒险世界的人，但是却感觉她做不到」。选角时考虑过的女演员包括葛妮丝·派特洛、薇诺娜·瑞德、克莱儿·丹妮丝、、瑞丝·薇斯朋。当这些演员拒绝时，凯特·温斯蕾