Uma onda gigantesca faz com que um luxuoso transatlântico, chamado Poseidon, tombe e fique de cabeça para baixo em alto mar. Poucos são os sobreviventes, que precisam se unir. O capitão Michael Bradford (Andre Braugher) sugere que todos aguardem por socorro no local em que estão, mas John Dylan (Josh Lucas), um jogador profissional, prefere buscar um lugar que lhe dê maior segurança. A atitude de Dylan atrai outros sobreviventes, que decidem segui-lo. Entre eles está Robert Ramsey (Kurt Russell), que está desesperado por não conseguir encontrar sua filha, Jennifer (Emmy Rossum), e o noivo dela, Christian (Mike Vogel). Também se juntam a eles Maggie James (Jacinda Barrett) e seu filho Conor (Jimmy Bennett), a passageira clandestina Elena Gonzalez (Mia Maestro) e Richard Nelson (Richard Dreyfuss), um homem que embarcou no navio em dúvida se queria viver. Desperados em encontrar uma saída, o grupo se embrenha no aço retorcido enquanto o navio cada vez mais vai se enchendo de água.