Annie Porter (Sandra Bullock), un peu cruche et maladroite, est aux anges quand son petit ami Alex (Jason Patric) l’embarque pour une croisière aux Bahamas. L’heureux couple ne se doute pas que John Geiger (Willem Dafoe), le concepteur du système informatique du bateau, a comploté une prise de contrôle violente du navire et un vol de diamant qui va mettre en danger de mort tous les passagers.