전투 훈련 판정을 앞두고 여단에서 진행한 소대별 실탄사격에서 김승진 소대장의 기총분대가 판정에서 탈락한다. 분대원들의 실력이 부족한 것이 아니었다. 소대장이 최악의 상황을 가정하여 조준판을 흩어 놓았기 때문이다.
김승진은 군관학교를 졸업하고 소대장으로 막 부임한 신임소대장이다. 그는 훈련을 실전처럼 해야 한다는 신념을 가진 인물이다. 이번 사격 훈련도 최악의 실전을 가장한 훈련으로 생각하였던 것이다.
적의 침략을 가정한 전투판정 훈련이 시작된다. 침투조인 총탄조는 특수기지의 위치를 알아내서 보고하고, 방어조인 철조망조는 침투조들이 쳐들어온다는 것을 알고 있는 상태에서 이들을 체포하는 것이 임무이다.
훈련을 판정하는 부국장은 훈련에 엄격하고, 가혹한 조건을 부여하기로 소문이 나 있는 인물이다. 부국장이 신입병사 시절, 김승진의 아버지를 분대장으로 만났었는데, 훈련에 힘들어 하는 분대장을 승진의 아버지가 도왔고 그 일로 인해 실제 생활에서 제대로 임무를 수행할 수 없었던 일이 있다. 이 일 이후, 그는 훈련에 엄격한 사람이 되었다.
총탄조가 훈련장으로 이동하던 중, 차량이 고장 난다. 부국장이 의도적으로 차량을 고장 낸 것이다. 이에 승진은 수륙양용차로 경계병들을 유도하는 한편으로 우회하여 강을 건너는 것으로 상황을 이겨낸다.
하지만 신입 병사 성호가 훈련 도중에 탄창 띠를 잃어버리자, 다시 찾아오느라 시간을 너무 지체한다. 승진은 총탄조의 임무가 실패하였다고 생각하고 대신 철수하는 철조망조의 트럭을 올라타고 작전 지역으로 이동한다. 하지만 이러한 상황을 예측한 부국장에게 발각되고는 다시 좌표를 받는다.
새로 받은 좌표는 정상적인 방법으로는 제시간에 돌파하기 어려운 곳이고, 경계도 강화된 상황이다. 승진은 칼 바위 벼랑을 오르고, 발파장을 지나기로 결정한다.
부대가 위험한 발파장을 통과하던 중 승진은 부상을 입는다. 뒤처지는 병사도 생기지만 승진은 침투조원들을 독려하면서 마침내 특수부대 기지를 발견하여 위치를 참모부에 보고한다.
부국장은 보고를 일부러 받지 않고 승진과 부대를 지켜보기로 한다. 연락이 닿지 않아 보고를 마치지 못하게 된 승진 소대장은 특수부대를 폭파하고 참모부로 돌아와 보고를 마친다.
승진은 부국장에게 훈련을 실전처럼 하는 것이 아버지가 남긴 교훈이었다고 말한다. 부국장도 승진을 대견스럽게 바라본다.