Молодий московський дворянин Дмитро Андрійович Оленін (Губанов) змарнував половину залишеної батьками спадщини. Не маючи освіти і чинів, він йде на службу до Кавказького піхотного полку юнкером, намагаючись в труднощах служби уникнути спокус життя московського світу. Полк розташований недалеко від річки Терек, яка служить природним поділом позицій козаків і горців. Оленін квартирує в будинку хорунжого, де серед інших домочадців, живе дочка господаря Мар'яна (Кирієнко). Її хочуть видати заміж за молодого козака Лукашку Широкова, що відрізняється хоробрістю і відвагою. Оленіна, як і всіх армійських, в станиці приймають холодно. Але скоро завдяки відкритому характеру і щедрості ставлення до нього змінюється. Важливу роль в цій зміні грає старий шанований козак Єрошка (Андрєєв), який з першої зустрічі добре ставиться до молодого юнкера. Оленін не скупиться на рентну плату за постій, дарує Лукашці одного зі своїх коней, щедро пригощає Єрошку вином. Вони разом полюють, Дмитро захоплюється навколишньою природою і невигадливою простотою побуту і стосунків.
Оленіну дають звання офіцера, але він цурається розгульного офіцерського побуту з картковими іграми і нерідкими п'яними гуляннями. Більший час поза службою він проводить на полюванні або в будинку. Поступово Дмитро захоплюється, навіть закохується в Мар'янку. Нарешті, спостерігаючи за приготуваннями до весілля і розуміючи, що він упускає час, Оленін робить дівчині пропозицію. Вона залишає рішення за батьками. Наступного ранку він збирається йти за їх благословенням, але, підкоряючись військовому обов'язку, відправляється в складі загону козаків в погоню за невеликим загоном абреків. В ході подальшого бою Лукашка смертельно поранений. Звістка про це віддаляє Дмитра і Мар'янку, вона вважає його побічно причетним до смерті молодого козака. Розуміючи, що щастя з нею вже не буде можливим, Оленін їде зі станиці, супроводжуваний засмученим Єрошкою.