The Devil runs a computer simulation to analyze souls to determine individual weaknesses to exploit. The program settles on Elliot Richards (Brendan Fraser), a geeky, over-zealous man working a dead-end job in a San Francisco computer company. He has no friends and his co-workers avoid him. He has a crush on colleague Alison Gardner (Frances O'Connor), but lacks the courage to ask her out. After Elliot is ditched by his co-workers at a bar while trying to talk to Alison, he says he would give anything for Alison to be with him. The Devil, in the form of a beautiful woman (Elizabeth Hurley), overhears him and offers to give Elliot seven wishes in exchange for his soul.