1924 m. Pavasaris. Levas Glebovičius Ganinas gyvena Rusijos svečių namuose Berlyne. Be Ganino, svečių namuose gyvena matematikas Aleksejus Ivanovičius Alferovas, žmogus „su plona barzda ir žvilgančia pūkuota nosimi“, „senas rusų poetas“ Antonas Sergejevičius Podtyaginas ir Klara, „visavertis, juodame šilke, labai jauki jauna ponia“, dirbantis mašininke ir įsimylėjęs. Ganina, taip pat baleto šokėjai Colinas ir Gornotsvetovas. „Ypatingas atspalvis, paslaptinga mimika“ skiria juos nuo kitų pasieniečių, tačiau „kalbant sąžiningai, negalima smerkti šios nekenksmingos poros balandžių laimės“.
Praėjusiais metais atvykęs į Berlyną, Ganinas iškart susirado darbą. Jis buvo ir darbininkas, ir padavėjas, ir priedai. Jam liko pakankamai pinigų išvykti iš Berlyno, tačiau tam reikia išsiskirstyti su Liudmila, kurios santykiai tęsiasi jau tris mėnesius ir kuri nuo jo pavargusi. Tačiau kaip pralaužti, Ganinas nežino. Jo langas atsiveria į geležinkelio bėgius, todėl „galimybė išvažiuoti mane erzina“. Jis praneša šeimininkei, kad išvyks šeštadienį.
Ganinas iš Alferovo sužino, kad šeštadienį atvyksta jo žmona Mashenka. Ganinas veda Alferovą pas save, kad parodytų jam savo žmonos nuotraukas. Ganinas sužino savo pirmąją meilę. Nuo šios akimirkos jis yra visiškai pasinėręs į šios meilės prisiminimus, jam atrodo, kad jis buvo jaunesnis lygiai devyneriais metais. Kitą dieną, antradienį, Ganinas praneša Liudmilai, kad myli kitą moterį. Dabar jis gali laisvai prisiminti, kaip prieš devynerius metus, būdamas šešiolikos metų, jis, atsigavęs nuo vidurių šiltinės vasarnamyje netoli Voskresensko, sukūrė sau moters įvaizdį, kurį realybėje sutiko per mėnesį. Mashenka turėjo „kaštonų pynę juodame lanke“, „totorių degančias akis“, tamsiaplaukį veidą, balsą „mobilų, purų, su netikėtais krūtinės garsais“. Maša buvo labai linksma, mėgo saldumynus. Ji gyveno sodyboje Voskresenske. Kartą su dviem draugais ji užlipo į parke esančią pavėsinę. Ganinas kalbėjosi su merginomis, jos sutiko kitą dieną plaukti valtimi. Bet Mashenka atėjo vienas. Kiekvieną dieną jie pradėjo susitikti upės pusėje, kur ant kalvos stovėjo tuščias baltas dvaras.
Kai audringą juodą naktį, išvakarėse išvykstant į Peterburgą iki mokslo metų pradžios, jis paskutinį kartą susitiko su ja šioje vietoje, Ganinas pamatė, kad vieno iš dvaro langų langinės yra durelės, o žmogaus veidas buvo prispaustas prie stiklo iš vidaus. Tai buvo budėtojo sūnus. Ganinas sulaužė stiklą ir ėmė „trenkti akmeniniu kumščiu į šlapią veidą“.
Kitą dieną jis išvyko į Peterburgą. Masha į Peterburgą persikėlė tik lapkritį. Prasidėjo „jų meilės sniego era“. Sunku buvo susitikti, ilgai klajoti šaltyje buvo skausminga, todėl abu prisiminė vasarą. Vakarais jie valandų valandas kalbėdavo telefonu. Visai meilei reikalingas privatumas, o jie neturėjo pastogės, jų šeimos nepažinojo vienas kito. Naujųjų metų pradžioje Mashenka buvo išvežtas į Maskvą. Ir keista: šis atsiskyrimas Ganinui buvo palengvėjimas.
Vasarą Masha grįžo. Ji paskambino Ganin į kotedžą ir pasakė, kad jos tėtis niekada nenorės išsinuomoti kotedžo Voskresenske ir dabar gyvena penkiasdešimt mylių nuo jo. Ganinas sėdo į savo dviratį. Atvyko jau tamsoje. Mashenka jo laukė prie parko vartų. „Aš esu tavo“, - sakė ji. „Daryk su manimi ką nori“. Bet parke pasigirdo keistų šurmulio, Mashenka buvo per daug paklusnus ir nejudrus. „Man atrodo, kad kažkas ateina“, - sakė jis ir atsistojo.
Po metų jis susitiko su Mashenka šalies traukinyje. Ji išlipo kitoje stotyje. Jie niekada nebematė vienas kito. Karo metu Ganinas ir Mashenka keletą kartų keitė švelnius laiškus. Jis buvo Jalta, kur „buvo rengiama karinė kova“, tai buvo kažkur Mažojoje Rusijoje. Tada jie prarado vienas kitą.
Penktadienį Colinas ir Gornotsvetovas, sužadėtuvių, Klaros gimtadienio, Ganino išvykimo ir Podtyagino numanomo išvykimo į Paryžių proga nusprendžia surengti „šventę“ savo dukterėčiai. Ganinas su Podtyaginu eina į policijos skyrių, kad padėtų vizą. Gavęs ilgai lauktą vizą, Podtyaginas netyčia palieka pasą tramvajuje. Jis turi širdies smūgį.
Šventinė vakarienė liūdna. Podtyaginas vėl suserga. Ganinas duoda gėrimo jau girtam Alferovui ir siunčia jį miegoti, o jis pats įsivaizduoja, kaip ryte susitiks su Maša stotyje ir ją nuneš.
Susikrovęs savo daiktus, Ganinas atsisveikina su prieblandoje sėdinčiais pensionatais prie mirštančio Podtyagino lovos ir eina į stotį. Iki Mashenkos atvykimo liko valanda. Jis atsisėdo ant suoliuko parke prie stoties, kur prieš keturias dienas prisiminė vidurių šiltinę, dvarą, Mašos kančią. Palaipsniui „su negailestingu aiškumu“ Ganinas supranta, kad jo santykiai su Mashenka baigėsi amžiams. „Tai truko tik keturias dienas, - šios keturios dienos buvo turbūt laimingiausi jo gyvenimo laikai.“ Mashenkos atvaizdas liko su mirštančiu poetu „šešėlių namuose“. Ir nėra kito Mashenka ir negali būti. Jis laukia akimirkos, kai iš šiaurės atvažiuojantis greitasis traukinys eis per geležinkelio tiltą. Jis pasiima taksi, eina į kitą stotį ir įlipa į traukinį, vykstantį į Vokietijos pietvakarius.