The Royal Navy is concerned about constant attacks on convoys by German submarines and having to keep "half the fleet" watching for the German battleship Tirpitz. The Tirpitz is 60 miles from the sea inside a Norwegian fjord and attempts by the Royal Air Force to sink her have failed. Commander Fraser (Mills) is determined to prove that an attack by human torpedoes is practical, despite scepticism from the higher echelons that such an operation would be feasible.
The story is told in flashback by a villager, played by Mervyn Johns, as though to a person visiting after the war. He recounts: one Saturday during the Second World War, a group of seemingly authentic British soldiers arrive in the small, fictitious English village of Bramley End. It is the Whitsun weekend so life is even quieter than usual and there is almost no traffic of any kind. At first they are welcomed by the villagers, until doubts begin to grow about their true purpose and identity. After they are revealed to be German soldiers intended to form the vanguard of an invasion of Britain, they round up the residents and hold them captive in the local church. The vicar is shot after sounding the church bell in alarm.
Lieutenant Taylor (John Mills) and the rest of the crew of the submarine Sea Tiger are given a week's leave after an unsuccessful patrol. Hobson (Eric Portman) goes home to save his marriage, while a reluctant Corrigan (Niall MacGinnis) heads off to his wedding. Then the crew are called back to duty, much to Corrigan's relief, though he later has second thoughts. Sea Tiger is assigned the top secret mission of sinking Nazi Germany's new battleship, the Brandenburg, before she enters the Kiel Canal to begin sea trials in the Baltic Sea.
The film portrays the conditions in which the Battle of the Atlantic was fought between the Royal Navy and Germany's U-boats. It is seen from the viewpoint of the British naval officers and seamen who served in convoy escorts. The film begins with a voice-over by Ericson (Jack Hawkins);
The film opens in 1991, with the funeral of a World War II veteran. The man's daughter Marie (Neve Campbell) delivers the eulogy to a church full of veterans who knew and loved her father, while her mother Ethel Ann (Shirley MacLaine) is sitting out on the church porch, smoking and nursing a hangover. When Ethel Ann begins acting strangely, only her friend Jack (Christopher Plummer) seems to understand why. It quickly emerges that there is a lot Marie does not know about her mother's past and the true story of her love life.
A US Navy submarine, the USS Corsair, is operating in the North Atlantic, hunting German merchant raiders that are preying on Allied shipping. Its new executive officer, Lt. Ward Stewart (Tyrone Power), has been transferred back into submarines after commanding his own PT boat. At the submarine base in New London, Connecticut, he asks his new captain, Lt. Cmdr. Dewey Connors (Dana Andrews), for a weekend leave to settle his affairs before taking up his new assignment. On a train bound for Washington D.C., Stewart accidentally encounters New London school teacher Jean Hewlett (Anne Baxter) and her students. Despite her initial resistance to his efforts, he charms her and they fall in love.
After a German U-boat drops off Nazi saboteurs, RCMP Corporal Wagner (Flynn) captures the leader, Colonel Hugo von Keller (Helmut Dantine), the only survivor after an avalanche wipes out the rest of the group. When left alone with the Canadian Mountie, von Keller discovers that Wagner speaks German and is of German ancestry, and tries to persuade his captor to help him. After being taken into custody, von Keller leads a jailbreak from a prisoner of war camp, enlisting other German soldiers in his escape. Wagner, seemingly under suspicion by the RCMP of being a Nazi sympathizer, is court martialed and contacted by Ernst Willis (Gene Lockhart), a real enemy agent, who hires him as a wilderness guide.
In the early months of the Second World War, Nazi Germany's Kriegsmarine sends out merchant raiders to attack Allied shipping. The Royal Navy responds with hunting groups whose mission is to stop them. The group that finds the heavily armed pocket battleship Admiral Graf Spee near South America is outgunned: Graf Spee is equipped with long-range 11-inch guns, while the British heavy cruiser Exeter has much lighter 8-inch guns, and the light cruisers Ajax and Achilles have 6-inch guns. Despite this, they go straight to the attack.
The American Buckley-class destroyer escort USS Haynes detects and attacks a German U-boat that is on its way to rendezvous with a German merchant raider in the South Atlantic Ocean. Captain Murrell (Robert Mitchum), a former officer in the merchant marine now an active duty lieutenant commander in the Naval Reserve, has recently taken command of the Haynes, even though he is still recovering from injuries incurred in the sinking of his previous ship. Before the U-boat is first spotted, one sailor questions the new captain's fitness and ability. However, as the battle begins, Murrell shows himself to be a match for wily U-boat Kapitän von Stolberg (Curt Jürgens) (portrayed as not being enamoured with the Nazi regime) in a prolonged and deadly battle of wits that tests both men and their crews. Each man grows to respect his opponent.
The film begins shortly after the outbreak of World War II when Günther Prien reports to the Befehlshaber der U-Boote (BdU—supreme commander of the U-boat Arm) Karl Dönitz. Dönitz orders Prien as commander of U-47 to penetrate the Royal Navy's primary base at Scapa Flow to inflict as much damage as possible. Prien accomplishes his mission and receives a hero's welcome on his return.
In the closing days of World War II, Irishman Murphy (Peter O'Toole) is the sole survivor of the crew of a merchant ship, Mount Kyle, which has been sunk by a German U-boat, which then machine-gunned the survivors in the water. Murphy makes it ashore (to a missionary settlement on the Orinoco in Venezuela) where he is treated by a pacifist Quaker doctor, Dr Hayden (Siân Phillips).