{1941년 9월 프랑스 라 로셀(La Rochelle). 히틀러가 영국 봉쇄를 위해 편성한 잠수함대가 열세를 보이기 시작했다. 영국 상선을 호위하는 구축함은 갈 수록 무장을 강화하여 독일 잠수함에 타격을 가했다. 그래도 독일군 최고사령부는 잠수함을 포기하지 않아 시간이 지날 수록 오히려 어린 수병들을 태워 점령지 프랑스로부터 출격시켰다. 결국 대서양을 지배하려는 싸움은 독일을 외면했다. 2차대전 중 4만 명의 수병이 유보트(U-Boats)라 불리는 잠수함에 투입되었다. 그리고 3만 명이 돌아오지 못했다.} 독일군의 패전 기미가 감돌던 1941년. 대부분 전쟁을 경험하지 못한 젊은 신참 병사들이 승선한 잠수함 U-96. 영화는 먹고 마시고 춤추는, 마치 내일이 없는 듯한 병사들의 모습에서부터 시작된다. 그러나 시간이 흐를 수록 잠수함이라는 한정된 공간에서 오는 답답함과 우울함이 이들을 엄습하기 시작한다. 그러던 어느 날 처음으로 적군의 군수물자운반선을 호위하는 영군군함과의 교전이 벌어지고, 아수라장의 싸움을 간신히 승리로 이끈 이들은 비로소 전쟁의 진실과 맞닥뜨리게 되고 공포에 사로잡힌다. 크리스마스가 다가올 무렵 그들에게 또 하나의 명령이 떨어진다. 그들로서는 도저히 불가능할 것만 같은 작전. 영군군의 본거지인 지브롤터 해협을 통과해야 하는 것이다. 자살 명령이나 다름없는 작전을 수행하기 위해 적지한 가운데로 향하는 U-96. 그러나 마음의 준비도 되어있지 않은 상태에서 적군(영국군)은 공중에서 폭탄을 투하하기 시작하고, U-96은 크게 파손되고 만다. 설상가상으로 기계는 고장이 나 심해 깊은 곳으로 처박히고 마는데.

테네시주에 사는 두명의 젊은이 레이프 맥컬리(Captain Rafe McCawley: 벤 에플렉 분)와 대니 워커(Captain Danny Walker: 조쉬 하트넷 분)는 어릴 적부터 형제처럼 자란 죽마고우이다. 이 둘은 자라서 둘다 미공군 파일럿이 되고, 레이프는 미해군에서 근무하는 아름답고, 용기있는 간호사 에벌린 스튜어트(Nurse Lieutenant Evelyn Stewart: 케이트 베킨세일 분)와 사랑에 빠진다.

1924년 단찌히에서 오스카가 태어난다. 놀랍도록 조숙한 아기는 독일인과 폴란드인이 섞여 살고 있는 단찌히에서, 독일인인 알프레도와 폴란드인 얀, 두 아버지 사이에서 자라 세번째 생일을 맞던 날 사다리에서 고의적으로 추락, 성장이 정지된다. 오스카는 생일날 선물로 받은 양철북을 두드리면서 나치의 행동을 분열시키는등 끊임없는 소동을 일으킨다. 서커스단 친구들과 함께 연주 여행을 떠난 오스카는 매혹적인 소녀와 사랑에 빠진다. 오스카의 악마적인 요소는 두 아버지와 어머니를 죽음으로 몰고 간다. 어떤 의무로부터도 자유로운 오스카에게도 성과 죽음은 두려운 난제로 다가온다.

실시간 인터넷 개인 방송 ‘아프리카 TV’의 BJ(Broadcasting Jockey)로 활동하고 있는 트랜스젠더 라즈. 그녀의 방송 게시판은 트랜스젠더에 관한 욕설과 외모에 대한 비난으로 도배되지만 그녀는 그들을 보며 웃음 짓고, 시원한 트림 소리로 소화시켜 버린다.