Primavera del 1924. Lev Glebovich Ganin vive in una pensione russa a Berlino. Oltre a Ganin, il matematico Alexei Ivanovich Alferov, un uomo “con una barba sottile e un naso gonfio e brillante”, “un vecchio poeta russo” Anton Sergeyevich Podtyagin e Klara, “una corposa, tutta in seta nera, molto accogliente giovane donna”, che lavora come dattilografa e innamorata di, vive in una pensione. Ganina, così come i ballerini Colin e Gornotsvetov. "Una sfumatura speciale, un misterioso mimetismo" separa quest'ultimo dagli altri pensionanti, ma "parlando onestamente, non si può condannare la felicità dei piccioni di questa innocua coppia".
L'anno scorso, al suo arrivo a Berlino, Ganin trovò immediatamente un lavoro. Era un lavoratore, un cameriere e un extra. Gli restano abbastanza soldi per lasciare Berlino, ma per questo ha bisogno di rompere con Lyudmila, la cui relazione dura da tre mesi ed è stanco di lui. Ma come rompere, Ganin non lo sa. La sua finestra si apre sul binario della ferrovia, e quindi "l'opportunità di partire è presa in giro ossessivamente". Annuncia alla padrona che partirà sabato.
Ganin apprende da Alferov che sabato arriva sua moglie Mashenka. Ganin conduce Alferov a se stesso per mostrargli le fotografie di sua moglie. Ganin impara il suo primo amore. Da questo momento è completamente immerso nei ricordi di questo amore, gli sembra che fosse più giovane di esattamente nove anni. Il giorno dopo, martedì, Ganin annuncia a Ludmila che ama un'altra donna. Ora è libero di ricordare come, nove anni fa, quando aveva sedici anni, mentre si stava riprendendo dalla febbre tifoide in una tenuta estiva vicino a Voskresensk, ha creato un'immagine femminile per sé, che ha incontrato nella realtà in un mese. Mashenka aveva una "treccia di castagno in un arco nero", "Occhi tatari che bruciavano", un viso dalla pelle scura, una voce "mobile, confusa, con suoni inaspettati del petto". Masha era molto allegra, adorava i dolci. Ha vissuto in una casa di campagna a Voskresensk. Una volta con due amici, è salita nel gazebo del parco. Ganin ha parlato con le ragazze, hanno deciso di andare in barca il giorno successivo. Ma Mashenka venne da solo. Ogni giorno cominciavano a incontrarsi sul lato del fiume dove un maniero bianco vuoto si trovava su una collina.
Quando in una notte nera tempestosa, alla vigilia della partenza per San Pietroburgo all'inizio dell'anno scolastico, si incontrò l'ultima volta con lei in questo posto, Ganin vide che le persiane di una delle finestre della tenuta erano socchiuse e un volto umano era premuto contro il vetro dall'interno. Questo era il figlio del guardiano. Ganin ruppe il bicchiere e iniziò a "colpire con un pugno di pietra sulla sua faccia bagnata".
Il giorno dopo andò a Pietroburgo. Masha si è trasferito a Pietroburgo solo a novembre. È iniziata l '"era della neve del loro amore". Era difficile incontrarsi, vagare a lungo nel freddo era doloroso, quindi entrambi ricordarono l'estate. La sera parlavano per ore al telefono. Tutto l'amore richiede privacy e non avevano un riparo, le loro famiglie non si conoscevano. All'inizio del nuovo anno, Mashenka è stata portata a Mosca. Ed è strano: questa separazione è stata un sollievo per Ganin.
In estate, Masha è tornato. Chiamò Ganin al cottage e disse che suo padre non avrebbe mai più voluto affittare un cottage a Voskresensk e ora vive a cinquanta miglia da lì. Ganin andò in bicicletta. Arrivato già al buio. Mashenka lo stava aspettando alle porte del parco. "Sono tuo", ha detto. "Fai quello che vuoi con me." Ma strani rumori si udirono nel parco, Mashenka era troppo docile e immobile. "Mi sembra che qualcuno stia arrivando", disse, e si alzò in piedi.
Si incontrò con Mashenka un anno dopo in un treno di campagna. Scese alla stazione successiva. Non si sono mai più rivisti. Durante la guerra, Ganin e Mashenka si scambiarono più volte lettere dolci. Era a Yalta, dove "si stava preparando una lotta militare", da qualche parte nella Piccola Russia. Poi si sono persi.
Venerdì, Colin e Gornotsvetov, in occasione del ricevimento di un fidanzamento, il compleanno di Klara, la partenza di Ganin e la presunta partenza di Podtyagin a Parigi, decidono di organizzare una "celebrazione" per sua nipote. Ganin con Podtyagin va al dipartimento di polizia per aiutarlo con un visto. Quando viene ricevuto il tanto atteso visto, Podtyagin lascia accidentalmente un passaporto sul tram. Ha un infarto.
La cena festiva è triste. Podtyagin si ammala di nuovo. Ganin dà da bere al già ubriaco Alferov e lo manda a dormire, e lui stesso immagina come incontrerà Masha alla stazione la mattina e la porterà via.
Dopo aver preparato le sue cose, Ganin saluta i pensionanti seduti al capezzale del morente Podtyagin e va alla stazione. Rimane un'ora prima dell'arrivo di Mashenka. Si siede su una panchina nel parco vicino alla stazione, dove quattro giorni fa ha ricordato la febbre tifoide, la tenuta, il sospetto di Masha. A poco a poco "con spietata chiarezza" Ganin si rende conto che la sua relazione con Mashenka è finita per sempre. "È durato solo quattro giorni, - questi quattro giorni sono stati forse i periodi più felici della sua vita." L'immagine di Mashenka rimase con il poeta morente nella "casa delle ombre". E non c'è nessun altro Mashenka e non può esserlo. Sta aspettando il momento in cui un treno espresso proveniente da nord passa lungo il ponte della ferrovia. Prende un taxi, va in un'altra stazione e sale su un treno diretto a sud-ovest della Germania.