Krajem svibnja 1812. u Sankt Peterburgu, na Nevskom bulevaru, susrela su se dva prijatelja - Vladimir Roslavlev i Aleksandar Zaretsky. Roslavlev se ismijava, a veseli Zaretski zabrinut je za stanje svog prijatelja. Roslavlev je zaljubljena u Polinu Lidinu. Ali ljubav nije uzrok melankolije: na zahtjev buduće svekrve dao je ostavku, ali u međuvremenu se, prema njegovim riječima, "sprema oluja <...> nad našu zemlju", rat s Napoleonom je neizbježan, a Roslavlev je, poput ruskog domoljuba, izuzetno zabrinjavajući. Iznervirano je i ropsko štovanje ruskog društva prije svega francuskog te, kao posljedica toga, zanemarivanje ruskih običaja, jezika i povijesti. Jedina misao koja mu grije dušu i čini ga sretnim je brzi sastanak s mladenkom.
Roslavlev odlazi u selo Uteshino blizu Moskve na Lidine. Pun je nestrpljenja - na kraju krajeva, već je određen dan vjenčanja. Ali iščekivanje "nebeskog blaženstva" ne čini ga gluhim za patnje drugih. Dakle, na jednoj od poštanskih stanica odvodi kolegama moskovskog trgovca Ivana Arhipoviča Sezemova, koji žuri kući svojoj supruzi koja umire.
Približavajući se selu, Roslavlev susreće lovce, među njima i Polinin ujak Nikolaj Stepanovič Izhorskiy. Izvještava da je Lidina otišla u grad u posjet i trebala bi se vratiti za sat i pol.
Povratak Lidina zasjenila je epizoda koja je zamalo završila tragedijom: kad je njihova posada prešla rijeku uskim mostom, vrata landaua su se otvorila i Olenka, Polina mlađa sestra, pala je u vodu. Da nije Roslavleva, koji je nakon udavljene žene naletio ravno na konja u vodu, tada bi Olenka sigurno umrla.
Nesreća sa njezinom sestrom i posljedica bolesti dala je Polini razlog da zamoli Roslavleva da odgodi vjenčanje. Vladimir je očajan, ali obožava svoju mladenku i zbog toga se ne može osim predati njezinu zahtjevu.
Olenka neće prepoznati svoju sestru koja je „već neko vrijeme postala tako čudna, tako bizarna“, a evo i njezine odluke da odgodi vjenčanje. Polina više nije u stanju sakriti svoju tajnu. "Drhti poput kriminalaca", ona priznaje Olenki da voli drugog, a ako on poput neumoljive sudbine stoji između nje i njenog supruga, morat će samo umrijeti.
Preporod kraljuje u kući Izhora. Na ručku su se okupili brojni gosti. Među pozvanim Lidin sa kćerima i Roslavlev. Glavna tema razgovora je hitna pomoć s Napoleonom. Roslavlev je siguran da ako Napoleon odluči otići u Rusiju, rat će neminovno postati narodni rat i tada će "svaki Rus morati braniti svoju domovinu."
No, ispada da je rat već u tijeku. Roslavlev za to saznaje iz pisma iz Zaretskog koji mu je poslao policajac koji je stigao u Izhoru: 12. lipnja francuske su trupe prešle Neman, a kapetan Hussara Zaretsky, čija je pukovnija bila stacionirana u blizini Bialystoka, već je sudjelovao u bitki s Francuzima. U ovoj bitki Aleksandar dalje obavještava svog prijatelja, uspio je zarobiti francuskog pukovnika grofa Senikura, ili bolje rečeno spasiti ga od smrti, jer, teško ranjen, Senikur nije odustao, već se "borio kao da je očajan". Za Roslavleva je sve odlučeno - drugi dan odlazi u vojsku.
Prošla su dva mjeseca. Nakon još jedne bitke, ruski stražar je bio smješten dvije milje od Drogobuža. Među odmornim ratnicima su Roslavlev i Zaretsky. Podsjetivši na ozbiljan dojam Zareckovskog pisma izrađenog na Polini, Vladimir kaže da je na putu za vojsku susreo francuske zarobljenike, među kojima je Adolf Senikur ranjen u glavu. Teško stanje francuskog pukovnika omogućilo je Roslavlevu da nagovori časnika za pratnju da pošalje Senikur u selo na liječenje u selo Lidins, jer se ispostavilo da je dobro poznavao ranjenog časnika, prije dvije godine upoznao je Lidinu u Parizu i često ju išao posjetiti.
Dva dana kasnije, u sljedećoj bitci s Francuzima, Roslavlev je ranjen u ruku. Nakon što je dobio dopust na liječenju, odlazi u Uteshino kako bi posjetio Polinu. Rana je odgodila Roslavleva u tranzitu, a samo dva tjedna kasnije uspio je napustiti Serpuhov.
Put do Uteshina isprala je kiša. Morao sam obići oko groblja. Počinje grmljavinska oluja. Roslavljeva kolica konačno su se zaglavila u blatu. Iz grobljanske crkve čuje se pjevanje, a zaintrigirani Vladimir odlazi tamo računajući na tuđu pomoć. Gledajući kroz prozor, vidi svadbenu ceremoniju i, na svoj užas, prepoznaje Senikur i Polinu u nevjestu i mladoženje. Od najvećeg šoka otvara se rana Roslavleva, a on, umočen u krv, točno na pragu crkve gubi osjetil.
Roslavlev se probudio sljedeće jutro u kući Izhora. Njegova jedina želja je otići s ovih mjesta, tamo gdje se može „utopiti u krvi francuskih negativaca“. Saznavši da Francuzi nisu daleko od Moskve, Vladimir odlučuje otići u Moskvu, jer će "tamo, na ruševinama toga, odlučiti sudbina Rusije".
U Moskvi sluga dovede Roslavleva, koji je omamljen, u groznici. Trgovac Sezemov skriva ga kod kuće, izdajući ga kao svog sina - iz dana u dan Francuzi će ući u Moskvu i tada ruski časnik neće biti bolestan.
Početkom rujna Zaretski stiže u Moskvu s povlačenim trupama. Odluči najprije posjetiti svog prijatelja u selu, a zatim se uhvati u koštac s njegovom pukovnijom. Na putu za Uteshino, među milicijama, Aleksandar susreće Izhorskog od kojeg saznaje o tragičnoj povijesti Polinovog braka. A onda Izhorsky sluga izvještava da je u Moskvi sreo Roslavlev-ovog slugu - Vladimir Sergejevič je u groznici i nalazi se u kući trgovca Sezemova. Zaretsky i Izhorsky su šokirani - vijest je upravo stigla, zapalili su je Moskva, predali se bez borbe, Francuzi u Kremlju. "Nesretna Moskva!", "Jadni Roslavlev!" - uzvikuju gotovo istovremeno.
U potrazi za svojom pukom Zaretski pada u partizanski odred, kojim zapovijeda poznati topnički časnik. Do kraja rujna luta s letećim odredom partizana, sudjelujući u racijama na francuskim konvojima. Moskva je opkoljena, u gradu više ne ostaje hrana i, unatoč svim vojnim mjerama opreza Francuza, nestaje čitav niz krmiva. Rat s Napoleonom poprima popularni karakter.
Zaretsky je zabrinut za sudbinu prijatelja. Odjeven u odoru ubijenog francuskog časnika, odlazi u Moskvu u potragu za Roslavlevom. Slučajni susret s kapetanom žandarma Renoa prijeti mu otkrivenjem: Francuz je identificirao Zareckog konja i sablju koja je pripadala mladoženji Renove sestre. Od neposrednog uhićenja Zaretskog, pukovnik Senicour spašava - vraćajući dug časti, potvrđuje da je doista francuski kapetan Danville.
Ostavljen sam s pukovnikom, Aleksandar mu otkriva razlog svog "maskarade": došao je po svog prijatelja, koji, ranjen, nije mogao napustiti Moskvu kad su u njega ušle francuske trupe. Saznavši da je ovaj ranjeni časnik Roslavlev, Senikur smatra svojom dužnošću pomoći Zaretskom. Prisjećajući se "užasne noći" vjenčanja, osjeća se krivim pred Roslavleva. "Uzeo sam od njega više od života", uzvikne Senikur. "Idi do njega; Spreman sam učiniti sve za njega <...> - nastavlja Francuz, - <...> možda on nije u stanju hodati <...> Na samom punktu će vas čekati moj čovjek s konjem i reći mu da ste kapetan Danville: on će dati ti joj ... "
Zaretsky uspijeva ukloniti Roslavlev iz Moskve. Njihov se put krije u njihovoj rodnoj pukovniji i, unatoč svim vrstama pustolovina na cestama - najprije susret sa seljacima koji su ih pogrešno prihvatili za Francuze, a zatim vojna svađa s francuskim stočarima, u kojoj je Roslavlev preuzeo zapovjedništvo nad seljačkim odredom - prijatelji na kraju odlaze van na bivake njegove pukovnije.
10. listopada Francuzi su napustili Moskvu, "ostajući u njoj mjesec i osam dana". Nakon nekoliko neuspješnih pokušaja probijanja u najbogatije provincije Rusije, Napoleon je bio prisiljen povući se istim putem kojim je krenuo do Moskve, ostavljajući tisuće vojnika koji su umirali od hladnoće i gladi. Na prelasku Berezine poražen je Neyev korpus, posljednja nada francuske vojske, a nakon Borisove bitke, francusko povlačenje pretvorilo se u pravi bijeg. Prijatelji su se oprostili na granici: general, pod kojim je Roslavlev bio pomoćnik, pridružio se svojoj diviziji trupama koje su opkolile Danzig, a Zareckov pukovnija ostala je na čelu vojske.
Opsada Danziga, gdje se nalazi francuski garnizon pod zapovjedništvom generala Rappa, odgođena je. Već studenog 1813. godine u opkoljenom gradu od gladi. Oduševljeni Rusi neprestano su uznemireni napadima partizana na francuski garnizon, a među njima je i "paklena četa" husarskog časnika Shambura, koji cijelu noć pljačka hranu po selima u kojima ruske pošte stoje. U jednom od tih napada, Shambyur je zarobio Roslavlev. Tako stiže do Danziga.
Prolaze dva tjedna. Pod izgovorom suzbijanja „nepovoljnih glasina“ o francuskoj vojsci, koje se zatvorenički oficir navodno širi po gradu, Roslavleva je poslana u zatvor. Ovo je zapravo trik koji je izmislio načelnik Generalštaba general Derikou-rum. Izvjesni firentinski trgovac sjedi u zatvoru, a sumnja se da je ruski špijun. Roslavlev je posađen zajedno s trgovcem kako bi prisluškivao njihove razgovore, jer će njihova želja da govore materinji jezik tako prirodna.
Ispostavilo se da je trgovac ruski časnik. Štoviše, poznato im je: malo prije rata, Roslavlev je postao nesvjestan svjedok dvoboja između ovog časnika i Francuza, koji je dopustio sebi izuzetno uvredljive primjedbe o Rusiji i ruskom narodu.
Sumnjajući da su prisluškivani, "trgovac" upozorava Roslavlev na to s napomenom i moli Vladimira, čim bude pušten iz zatvora, da pronađe ženu koja živi na Kazališnom trgu na petom katu crvene kuće u šestoj sobi. Očajno je bolesna, a ako je Roslavlev nađe živu, mora joj se reći da sprži papire koje joj je trgovac Dolcini predao na čuvanje.
Roslavleva je stvarno puštena na slobodu (Shambur je zagovarao za njega), a sutradan kreće na Kazališni trg. Na petom katu crvene kuće pokazalo se jadno potkrovlje, soba strepi u svom siromaštvu. U umirućoj ženi Roslavlev s užasom prepoznaje Pauline. Davno joj je oprostio. Štoviše, saznavši da je ona, žrtvujući sve, pošla za svojim mužem da podijeli sve njegove muke i patnje, počeo je prema njoj davati najveće poštovanje.
Umiruća Paulina pripovijeda Vladimiru tragičnu priču svojih lutanja. Konvoj, u kojem je Polina napustila Moskvu s Francuzima koji su se povlačili, napali su kozaci. Spasio ju je Adolfov prijatelj koji je preuzeo na sebe daljnju brigu o njoj. Nakon ove svađe, Polina više nije vidjela muža i tek kasnije je saznala da Adolf više nije živ. Tada je rodila sina. Njezin je jedini zaštitnik, brinući se za nju i dijete, ne mogavši izdržati poteškoće povlačenja, razbolio se od groznice i umro. Dok je bilo novca, Polina je živjela u samoći, nije komunicirala ni s kim. Tada su Rusi opkolili Danziga, novac je ponestao, a ona se za pomoć obratila francuskom generalu. A tada je Polina učinila strašno otkriće za sebe: ostavila je obitelj, otadžbinu, žrtvovala je sve kako bi postala žena Senikur-a, a svi oko nje smatraju ga ljubavnicom. Zatim je, kako bi nahranila sina, tražila milostinju, ali dijete joj je umrlo od gladi. Od gladi ju je spasio Dolcini koji je, saznavši da je Ruskinja, sudjelovala u njezinoj sudbini.
Pauline započinje gluposti. Vladimir je nakon nekoliko sati ponovo ostavlja u posjetu. U ovom trenutku ruske trupe počinju granatirati grad. Roslavlev je ranjen u glavu.
Ruski časnik već je više od dva tjedna na rubu groba. Probudivši se, otkriva Shambyura kod svog kreveta. Hussar žuri reći svom prijatelju-zarobljeniku najnovije vijesti: prva - Rapp će potpisati predaju, druga - Dolcini nije bio trgovac, već ruski partizan. Ubrzo je uspio izaći iz zatvora, nakon čega se Dolcini toliko dobro slagao s generalom Dericourtom da je naredio "trgovcu" da isporuči važne pošiljke Napoleonu. Kad se "trgovac" povukao iz francuskih utvrda, pojavio se pred Kozacima pravim imenom i pristojno se oprostio od žandarma.
Ispada da je Shambur dobro poznavao Dolcinija i zato je "trgovac" pismo proslijedio Roslavlevu. Bilo je to pismo umiruće Poline. U njemu se oprostila i izrazila zadnju želju: moli Roslavlev da se uda za Olenku, koja ga je uvijek strastveno voljela.
Prošlo je nekoliko godina. Roslavlev se davno povukao i živi sa suprugom Olenkom i dvoje djece u Uteshinu, gdje nakon šest godina razdvojenosti dolazi Zaretsky. Imaju o čemu razgovarati. Prisjećajući se ratnih događaja, Zaretski je pitao Polinu sudbinu: "Što se dogodilo s ovom nesretnikom? <...> Gdje je ona sada? " Kao odgovor na pitanje, Roslavlev je tužno pogledala spomenik od bijelog mramora ispod trešanja: ispod nje je zatrpan Polinin kovrče, koji je u oproštajnom pismu predao Roslavlev ...