Alex Hopper (Taylor Kitsch) é um oficial naval do navio USS John Paul Jones, comandado pelo almirante Shane (Liam Neeson). Alex é noivo de Sam (Brooklyn Decker), filha de Shane, apesar de não ser bem visto por ele. Já em alto mar, eles precisam unir forças com a tripulação do navio USS Samson, comandado pelo irmão mais velho de Alex, Stone (Alexander Skarsgaard), ao encontrar uma força alienígena desconhecida, que ameaça a existência da humanidade. Um grupo de cientistas, comandados por Cal Zapata (Hamish Linklater), e de especialistas em armas, como Cora Raikers (Rihanna), também compõem a equipe. Acompanhando tanto o lado dos humanos quanto o lado dos alienígenas, Battleship apresenta a intensa disputa pelo controle da Terra.