Молодой подпоручик Георгий Ромашов влюбляется в жену поручика Николаева — очаровательную Шурочку. Вскоре он узнает, что у предмета его обожания был роман с Александром Ивановичем Куприным, который служит с Ромашовым в одном полку. Ромашов, уставший от армейских порядков, призывает старшие чины проявлять уважение к простым солдатам. Он вступает в конфликт с капитаном Сливой и подает на него рапорт.
Ромашов ходит к Шурочке Николаевой каждый день. Ее муж начинает ревновать. У одного из солдат крадут сапоги. В краже признается солдат Хлебников, хотя Георгий уверен, что тот невиновен. Хлебникова наказывают публичной поркой розгами. Ромашов знакомится с отставным капитаном, выступающим с дрессированной собакой по имени Пират. Капитан продает собаку за сто рублей купцу Спиридонову и мечтает начать новую жизнь. Ромашов жалеет старика и селит у себя.
Ромашов решается на разрыв с Раисой Петерсон, которая клянется отомстить. Старик пропивает все деньги, вырученные за собаку Пиратку. Видя, в каком он отчаянии, Ромашов пытается помочь и выкупить собаку. Но Спиридонов непреклонен. Шурочка приглашает Ромашова на пикник праздновать ее день рождения, где происходит долгожданное объяснение. Шурочка настраивает Ромашова отличиться на предстоящем смотре. Тогда он продвинется по службе, и они смогут быть вместе.
На полковом смотре Ромашов, глядящий на Шурочку, неловко ведет свою роту и сбивает строй. Его отчитывает генерал, капитану Сливе возвращается командование. Вечером Ромашов напивается в офицерском клубе и обвиняет Петерсона в написании анонимок на него и Шурочку. Николаев возмущен публичным поступком Ромашова. В результате скандала происходит драка. Офицерский суд предписывает Николаеву и Ромашову дуэль. В случае несогласия, оба должны покинуть службу. Куприн убеждает Ромашова отказаться от дуэли. Но перед поединком к нему приходит Шурочка и просит стреляться...