1812 m. Gegužės mėn. Pabaigoje Sankt Peterburge, Nevskio bulvare, susitiko du draugai - Vladimiras Roslavlevas ir Aleksandras Zaretskis. Roslavlevas šluojasi, o linksmas Zaretskis nerimauja dėl savo draugo būklės. Roslavlevas yra įsimylėjęs Poliną Lidiną. Tačiau meilė nėra melancholijos priežastis: būsimos uošvės prašymu jis atsistatydino, tačiau tuo tarpu, anot jo, „audra <...> yra užvesta virš mūsų šalies“, karas su Napoleonu neišvengiamas, o Roslavlevas, kaip ir Rusijos patriotas, yra be galo jaudinantis. Jis taip pat yra pasipiktinęs dėl vergiško Rusijos visuomenės garbinimo prieš visas prancūzų kalbas ir dėl to Rusijos papročių, kalbos ir istorijos nepaisymu. Vienintelė mintis, kuri sušildo jo sielą ir padaro jį laimingą, yra greitas pasimatymas su nuotaka.
Roslavlevas eina į Uteshino kaimą netoli Maskvos į Lidinus. Jis kupinas nekantrumo - juk vestuvių diena jau paskirta. Tačiau „dangiškos palaimos“ laukimas nedaro jo kurčiųjų kitų kančioms. Taigi vienoje pašto stotyje jis pasiima pas savo kolegas keliautojus Maskvos pirklį Ivaną Arhipovičą Sezemovą, kuris skuba namo pas savo mirštančią žmoną.
Priartėjęs prie kaimo, Roslavlevas susitinka su medžiotojais, tarp jų ir Polinos dėdė Nikolajus Stepanovičius Izhorskis. Jis praneša, kad Lidina išvyko į miestą vizito metu ir turėtų grįžti po pusantros valandos.
„Lidinų“ sugrįžimą nustelbė epizodas, kuris beveik baigėsi tragedija: kai jų įgula perplaukė upę per siaurą tiltą, landau durys atsidarė, o jaunesnė Polinos sesuo Olenka krito į vandenį. Jei ne Roslavlevas, kuris tiesiai po arkliu į vandenį skubėjo po skęstančios moters, tada Olenka tikrai būtų pražuvusi.
Nelaimingas atsitikimas su seserimi ir vėlesnė jos liga suteikė Polinai priežasties paprašyti Roslavlevo atidėti vestuves. Vladimiras yra beviltiškas, tačiau jis garbina savo nuotaką ir todėl negali atsisakyti jos prašymo.
Olenka nepripažins savo sesers, kuri „kurį laiką tapo tokia keista, tokia keista“, ir štai jos sprendimas atidėti vestuves. Polina nebegali slėpti savo paslapties. „Drebulė kaip nusikaltėlė“, - ji prisipažįsta Olenka, kad myli kitą, ir jei jis, kaip nepriekaištingas likimas, atsidurs tarp jos ir vyro, ji turės mirti.
Izoros namuose karaliauja atgimimas. Pietūs susirinko daugybė svečių. Tarp pakviestų Lidino su dukromis ir Roslavlevo. Pagrindinė pokalbio tema yra greitoji pagalba su Napoleonu. Roslavlevas yra tikras, kad jei Napoleonas nuspręs vykti į Rusiją, karas neišvengiamai išpopuliarės, tada „kiekvienas rusas turės ginti savo Tėvynę“.
Tačiau karas, pasirodo, jau vyksta. Apie tai Roslavlevas sužino iš Zaretskio laiško, kurį jam išsiuntė į Izhora atvykęs policijos pareigūnas: birželio 12 d. Prancūzų kariuomenės būriai kirto Nemaną, o husarų kapitonas Zaretsky, kurio pulkas buvo dislokuotas netoli Balstogės, jau dalyvavo mūšyje su prancūzais. Šiame mūšyje Aleksandras papildomai informuoja savo draugą, jam pavyko sučiupti prancūzų pulkininką grafą Senikurą, tiksliau - išgelbėti jį nuo mirties, nes, sunkiai sužeistas, Senikūras nepasidavė, o „kovojo taip, kaip buvo beviltiškas“. Dėl Roslavlevo viskas nuspręsta - kitą dieną jis eina į armiją.
Praėjo du mėnesiai. Po dar vieno mūšio Rusijos užkampis buvo įsikūręs už dviejų mylių nuo Drogobužo. Tarp poilsiaujančių karių yra Roslavlevas ir Zaretskis. Prisimindamas didelį Zaretskio laišką, padarytą Polinai, Vladimiras sako, kad pakeliui į armiją jis sutiko prancūzų kalinių, tarp kurių buvo Adolfo Senikuro galvos. Sunki Prancūzijos pulkininko būklė leido Roslavlevui įtikinti palydos pareigūną išsiųsti Senikurą į kaimą gydytis Lidinų kaime, kaip paaiškėjo, jis buvo gerai pažįstamas sužeistam pareigūnui, prieš dvejus metus jis susipažino su Lidina Paryžiuje ir dažnai eidavo jos aplankyti.
Po dviejų dienų kitame mūšyje su prancūzais Roslavlevas buvo sužeistas rankoje. Gavęs atostogas gydytis, jis išvyksta į Uteshino aplankyti Polinos. Žaizda atidėdavo Roslavlevą tranzitu, ir tik po dviejų savaičių jam pavyko palikti Serpukhovą.
Kelias į Uteshino buvo nuplautas lietaus. Teko apeiti kapines. Prasideda perkūnija. Roslavlevo vežimėlis pagaliau įstringa purve. Dainavimas girdimas iš kapinių bažnyčios, o suintriguotas Vladimiras eina ten, tikėdamasis kažkieno pagalbos. Žvelgdamas pro langą, jis mato vestuvių ceremoniją ir, išgąsdintas, atpažįsta Senikurą ir Poliną nuotakoje ir jaunikyje. Nuo didžiausio sukrėtimo atsidaro Roslavlevo žaizda ir jis, paniręs į kraują, tiesiai ant bažnyčios slenksčio, praranda jusles.
Kitą rytą Roslavlevas pabudo Izoros namuose. Vienintelis jo noras yra pasitraukti iš šių vietų, kur galėtų „paskęsti prancūzų piktadarių kraujyje“. Sužinojęs, kad prancūzai nėra toli nuo Maskvos, Vladimiras nusprendžia vykti į Maskvą, nes „ten, ant jos griuvėsių, bus nuspręstas Rusijos likimas“.
Maskvoje tarnas atneša sutemusį Roslavlevą karščiuojant. Prekeivis Sezemovas jį slepia namuose, išduodamas kaip sūnų - diena iš dienos prancūzai įvažiuos į Maskvą, tada rusų karininkas nesirgs.
Rugsėjo pradžioje Zaretsky atvyksta į Maskvą su besitraukiančiomis kariuomenėmis. Jis nusprendžia pirmiausia aplankyti savo draugą kaime, o paskui pasivyti savo pulką. Tačiau pakeliui į Uteshino, tarp milicijos atstovų, Aleksandras susitinka su Izhorskiu, iš kurio sužino apie tragišką Polinos santuokos istoriją. Tada Izhorskio tarnas praneša, kad Maskvoje jis sutiko Roslavlevo tarną - Vladimiras Sergejevičius karščiuoja ir yra prekybininko Sezemovo namuose. Zaretsky ir Izhorsky yra šokiruoti - ką tik pasirodžiusi žinia, padegta Maskvos gyventojų, pasidavė be kovos, prancūzai Kremliuje. „Gaila Maskva!“, „Vargšas Roslavlevas!“ Jie šaukia beveik tuo pačiu metu.
Ieškodamas savo pulko, Zaretsky patenka į partizanų būrį, kuriam vadovauja pažįstamas artilerijos karininkas. Iki rugsėjo pabaigos jis klaidžioja su skraidančiu partizanų būriu, dalyvaudamas reiduose Prancūzijos konvojose. Maskva apsupta, mieste neliko maisto, ir, nepaisant visų prancūzų karinių atsargumo priemonių, dingo daugybė pašarų. Karas su Napoleonu įgauna populiarų pobūdį.
Zaretsky nerimauja dėl draugo likimo. Pasipuošusi nužudyto prancūzų karininko uniforma, jis eina į Maskvą ieškoti Roslavlevo. Dėl atsitiktinio susitikimo su žandarų kapitonu Reno jam gresia apreiškimas: prancūzas atpažino Zaretskio žirgą ir kardą, kuris priklausė Reno sesers jaunikiui. Nuo artėjančio Zaretskio arešto pulkininkas Senicoras gelbėja - grąžindamas garbės skolą jis patvirtina, kad jis iš tikrųjų yra prancūzų kapitonas Danvilis.
Likęs vienas su pulkininku, Aleksandras atskleidžia jam „kaukimo“ priežastį: jis atvyko už savo draugą, kuris, sužeistas, negalėjo palikti Maskvos, kai į ją įžengė prancūzų kariuomenė. Sužinojęs, kad šis sužeistas pareigūnas Roslavlevas, Senikuras mano, kad jo pareiga yra padėti Zaretskiui. Prisimindamas „baisią vestuvių naktį“, jis jaučiasi kaltas prieš Roslavlevą. „Aš iš jo paėmiau daugiau nei gyvybę“, - sušunka Senikūras. „Eik pas jį; Aš pasiruošęs padaryti viską dėl jo <...> - tęsia prancūzas, - <...> galbūt jis negali vaikščioti <...> Pačiame poste mano vyras su arkliu lauks tavęs, pasakys jam, kad tu esi kapitonas Danvilis: jis duos tu jai ... "
Zaretskyi pavyksta pašalinti Roslavlevą iš Maskvos. Jų kelias slypi gimtajame pulke ir, nepaisant visokių kelių nuotykių - pirmiausia susitikimas su valstiečiais, kurie juos klaidino dėl prancūzų, o po to karinis susiskaldymas su prancūzų pašarininkais, kuriame Roslavlevas perėmė valstiečių būrio komandą - draugai galų gale išeina. ant jo pulko bivuako.
Spalio 10 dieną prancūzai paliko Maskvą, „pasilikę joje mėnesį ir aštuonias dienas“. Padaręs keletą nesėkmingų bandymų įsiveržti į turtingiausias Rusijos provincijas, Napoleonas buvo priverstas trauktis tuo pačiu keliu, kuriuo ėjo į Maskvą, palikdamas tūkstančius kareivių mirštančius nuo šalčio ir bado. Per Berezina perėją Ney korpusas buvo nugalėtas - paskutinė Prancūzijos armijos viltis - ir po Borisovo mūšio prancūzų atsitraukimas virto tikru pabėgimu. Draugai atsisveikino pasienyje: generolas, kuriam Roslavlevas buvo adjutantas, kartu su savo divizija sujungė Danzigą besiribojančias kariuomenes, o Zaretskio pulkas liko armijos priešakyje.
Danzigo apgultis, kur prancūzų garnizonas yra pavaldus generolui Rappui, buvo atidėtas. Jau 1813 m. Lapkričio mėn., Apleistame bado mieste. Rusijos paštininkai nuolat nerimauja dėl Prancūzijos garnizono partizanų išpuolių, tarp jų yra husarų karininko Shamburo „pragariška kompanija“, kuris reiduoja maistą kaimuose, kur visą naktį stovi Rusijos postai. Vienoje iš šių rūšių Shambyur užėmė Roslavlevą. Taigi jis patenka į Danzigą.
Praėjo dvi savaitės. Priežastimi užgniaužti „nepalankius gandus“ apie Prancūzijos armiją, kurią, kaip įtariama, kalinių pareigūnas pasklido po miestą, Roslavleva siunčiama į kalėjimą. Tai iš tikrųjų yra triukas, kurį sugalvojo štabo viršininkas generolas Derikou-romas. Kalėjime sėdi tam tikras Florencijos prekybininkas, jis įtariamas kaip Rusijos šnipas. Roslavlevas sodinamas kartu su prekeiviu, kad galėtų įsiklausyti į jų pokalbius, nes jų noras kalbėti gimtąja kalba bus toks natūralus.
Prekeivis tikrai pasirodo esąs Rusijos karininkas. Be to, jie yra pažįstami: prieš pat karą Roslavlevas tapo netyčiniu šio karininko ir prancūzo dvikovos liudininku, kuris leido sau nepaprastai įžeidžiančias pastabas apie Rusiją ir Rusijos žmones.
Įtardamas, kad jie yra įslaptinti, „prekybininkas“ apie tai perspėja Roslavlevą ir prašo Vladimiro, kai tik jis paleidžiamas iš kalėjimo, rasti moterį, esančią Teatro aikštėje penktojo raudonojo namo šeštajame kambaryje. Ji beviltiškai serga, o jei Roslavlevas ją aptinka gyvą, jai turi būti liepta sudeginti dokumentus, kuriuos pirklys Dolcini perdavė jai išsaugoti.
Roslavleva tikrai greitai išleidžiama (Shamburas už jį laidavo), o kitą dieną jis eina į Teatro aikštę. Penktasis raudonojo namo aukštas pasirodė apgailėtinas palėpė, kambarys stulbina savo skurdu. Mirštančioje moteryje Roslavlevas su siaubu atpažįsta Pauliną. Jis jau seniai jai atleido. Be to, sužinojęs, kad ji, viską paaukojusi, nuėjo paskui vyrą pasidalinti visais jo sunkumais ir kančiomis, jis pradėjo ją didžiausiai gerbti.
Mirštančioji Pauline pasakoja Vladimirui tragišką jos klajonių istoriją. Konvoją, kurioje Polina išvyko iš Maskvos kartu su besitraukiančiais prancūzais, užpuolė kazokai. Jį išgelbėjo Adolfo draugas, kuris pats ėmėsi tolesnio jos priežiūros. Po šio sukrėtimo Polina nebematė savo vyro ir tik vėliau sužinojo, kad Adolfas nebegyvas. Tada ji pagimdė sūnų. Vienintelis jos globėjas, rūpindamasis savimi ir savo vaiku, negalėdamas atlaikyti sunkumų trauktis, susirgo karščiavimu ir mirė. Kol buvo pinigų, Polina gyveno vienatvėje, su niekuo nebendravo. Tuomet rusai apgulė Danzigą, baigėsi pinigai, ir ji kreipėsi į prancūzų generolą pagalbos. Ir tada Polina padarė sau siaubingą atradimą: ji paliko savo šeimą, tėviškę, paaukojo viską, kad taptų Senikuro žmona, ir visi aplinkiniai jį laiko savo meiluže. Tada, norėdama maitinti sūnų, ji paprašė išmaldos, tačiau jos vaikas mirė iš bado. Dolcini išgelbėjo ją nuo bado, kuri, sužinojusi, kad yra rusė, dalyvavo jos likime.
Pauline prasideda nesąmonė. Po kelių valandų Vladimiras palieka ją vėl aplankyti. Šiuo metu Rusijos kariuomenės būriai pradeda apkalti miestą. Roslavlevas buvo sužeistas galvoje.
Daugiau kaip dvi savaites Rusijos karininkas budėjo ant kapo krašto. Atsibudęs jis atranda Šambiurą prie savo lovos. Husaras skuba papasakoti savo draugui pagrobėjui paskutines naujienas: pirmoji - Rappas ketina pasirašyti pasidavimą, antrasis - Dolcini buvo ne prekybininkas, o Rusijos partizanas. Jam netrukus pavyko ištrūkti iš kalėjimo, po kurio Dolcini taip gerai susitvarkė su generolu Dericourtu, kad liepė „pirkliui“ pristatyti svarbius siuntimus į Napoleoną. Kai „pirklį“ pasitraukė iš prancūzų užsakovų, jis visiškai atsidūrė kazokuose savo tikruoju vardu ir mandagiai atsisveikino su žandarų karininku.
Šamburas, pasirodo, gerai pažinojo Dolcini, todėl būtent per jį „prekybininkas“ perdavė laišką Roslavlevui. Tai buvo mirštančios Polinos laiškas. Jame ji atsisveikino ir išreiškė paskutinį norą: prašo Roslavlevo ištekėti už Olenkos, kuri jį visuomet aistringai mylėjo.
Praėjo keli metai. Roslavlevas seniai atsistatydino ir gyvena su žmona Olenka ir dviem vaikais Uteshino mieste, kur Zaretsky atvyksta po šešerių metų išsiskyrimo. Jie turi apie ką kalbėti. Prisimindamas karo įvykius, Zaretsky paklausė Polinos likimo: „Kas nutiko šiam nelaimingajam? <...> Kur ji dabar? Atsakydamas į klausimą Roslavlevas liūdnai pažvelgė į balto marmuro paminklą po paukščių vyšnia: Po juo buvo palaidota Polinos garbanėlė, kurią ji atsisveikinimo laiške įteikė Roslavlevui ...