Factual error: Although the type of mission depicted in the movie did occur, it was not Americans that were known to do them. Canadian and British teams were specialized to do this mission.
Suggested correction: America did capture a U-boat along with its crew and Enigma equipment... U-505.
Factual error: Several times the movie shows two torpedoes side by side, fired off simultaneously. This was not possible in German U-Boats, a simple timer prevented this and delayed firing the second or more torpedo by a few seconds. Torpedoes in WWII were prone to premature detonation and without this mechanism, one premature detonation could ignite a whole salvo, a significant risk of killing the sub that fired them.
Factual error: In reality, the planned boarding of the disabled sub would have been doomed to fail once the American and German subs met. Whenever German U-boats or ships met at sea, they were required to exchange a secret signal, usually consisting of a challenge-and-response using differently colored signal pistols. These signals changed daily and the Americans had no way of knowing this information.
Factual error: After the Americans have stormed the German sub, they find the Germans tried to destroy the Enigma code books by throwing them into the bilge water, which is just below the deckplates in the torpedo room. However, there was actually a lot of room for machinery and reserve torpedoes under the deckplates, which means that the torpedo room would have to be flooded by more than 3 feet deep to even reach the deckplates. This means the whole torpedo room would have been flooded with at least 6.000 gallons of water, rendering the boat likely completely unstable, unfit to dive and overflooding the batteries in the room next to it, which released poisonous chlorine gas when in contact with sea water. Not to mention that this much water could only have been caused by a major leak, but neither Germans or Americans seem to be particularly concerned by any leaks or by the amount of water in the boat.
Factual error: When Tyler asks Tank "what's the status of the torpedo tube?" His hand is on the periscope tube and it spins freely That tube has many seals on it and is stiffer then that.
Factual error: The American crew tries to fool the German destroyer by launching a corpse and debris through the torpedo tubes. However, at more than 150 meters depth this would have been pretty much suicide. The outer torpedo doors of a Type VII sub were not designed to be opened in depths exceeding 20 meters. At 150 meters, the crew probably would have been unable to open them in the first place, but even if they did the brutal water pressure would have likely severely destroyed the outer and inner torpedo doors and caused the submarine to be flooded and crushed in seconds.
Factual error: Submariners are trained to always listen to the sounds of the boat, since anything out of the ordinary could mean death. Given that training, the small size of a German U-boat and the less-than-skeleton crew aboard it is not possible that the sounds of the fight in the forward torpedo room, or the sounds of the German commander operating the chain on the torpedo loading rail would have gone unnoticed or uninvestigated for so long.
Factual error: The movie used 3 "dive" commands and 3 blasts of the klaxon to dive. This is incorrect. The command to dive is repeated twice and the diving klaxon is sounded twice. Command to surface is 3 and 3.
Factual error: When the German "destroyer" is attacking, it drops a steady stream of depth charges. I reality, depth charge attacks were made by locating the sub on sonar and dropping a pattern of five or ten charges at a time when the escort ship was above the target. These were set for the estimated depth and would have gone off at roughly the same time.