Frühling 1924. Lev Glebovich Ganin lebt in einem russischen Gästehaus in Berlin. Neben Ganin leben der Mathematiker Alexei Ivanovich Alferov, ein Mann „mit dünnem Bart und einer strahlend geschwollenen Nase“, „ein alter russischer Dichter“ Anton Sergejewitsch Podtyagin und Klara, „eine vollmundige, ganz aus schwarzer Seide, sehr gemütliche junge Dame“, die als Schreibkraft arbeitet und in die sie verliebt ist, in einem Gästehaus. Ganina sowie die Balletttänzer Colin und Gornotsvetov. "Ein besonderer Schatten, mysteriöse Mimikry" trennt letztere von anderen Boardern, aber "ehrlich gesagt kann man das Taubenglück dieses harmlosen Paares nicht verurteilen".
Letztes Jahr, als Ganin in Berlin ankam, fand er sofort eine Arbeit. Er war ein Arbeiter und ein Kellner und ein Statist. Er hat noch genug Geld, um Berlin zu verlassen, aber dafür muss er sich von Lyudmila trennen, deren Beziehung seit drei Monaten besteht und die ihn satt hat. Aber wie man bricht, weiß Ganin nicht. Sein Fenster öffnet sich zur Eisenbahnstrecke, und deshalb "ist die Gelegenheit zu gehen obsessiv neckend". Er kündigt der Herrin an, dass er am Samstag abreisen wird.
Ganin erfährt von Alferov, dass am Samstag seine Frau Mashenka ankommt. Ganin führt Alferov zu sich selbst, um ihm Fotos seiner Frau zu zeigen. Ganin lernt seine erste Liebe. Von diesem Moment an ist er völlig in die Erinnerungen dieser Liebe eingetaucht, es scheint ihm, dass er genau neun Jahre jünger war. Am nächsten Tag, am Dienstag, gibt Ganin Ludmila bekannt, dass er eine andere Frau liebt. Jetzt kann er sich frei erinnern, wie er vor neun Jahren, als er sechzehn Jahre alt war, als er sich in einem Sommeranwesen in der Nähe von Voskresensk vom Typhus erholte, ein weibliches Bild für sich geschaffen hat, das er in einem Monat in der Realität kennengelernt hat. Mashenka hatte ein "Kastaniengeflecht in einer schwarzen Schleife", "tatarische brennende Augen", ein dunkelhäutiges Gesicht, eine Stimme "beweglich, burry, mit unerwarteten Brustgeräuschen". Mascha war sehr fröhlich, liebte Süßigkeiten. Sie lebte in einem Landhaus in Voskresensk. Einmal mit zwei Freunden stieg sie in den Pavillon im Park. Ganin sprach mit den Mädchen, sie stimmten zu, am nächsten Tag Boot zu fahren. Aber Mashenka kam allein. Jeden Tag trafen sie sich am Ufer des Flusses, wo ein leeres weißes Herrenhaus auf einem Hügel stand.
Als er in einer stürmischen schwarzen Nacht, am Vorabend seiner Abreise nach St. Petersburg zu Beginn des Schuljahres, sie zuletzt an diesem Ort traf, sah Ganin, dass die Fensterläden eines der Fenster des Anwesens angelehnt waren und ein menschliches Gesicht von innen gegen das Glas gedrückt wurde. Dies war der Sohn des Wächters. Ganin brach das Glas und begann „mit einer Steinfaust auf sein nasses Gesicht zu schlagen“.
Am nächsten Tag ging er nach Petersburg. Mascha zog erst im November nach Petersburg. Die "Schnee-Ära ihrer Liebe" begann. Es war schwer sich zu treffen, lange Zeit in der Kälte zu wandern war schmerzhaft, also erinnerten sich beide an den Sommer. Abends telefonierten sie stundenlang. Alle Liebe erfordert Privatsphäre, und sie hatten keinen Schutz, ihre Familien kannten sich nicht. Zu Beginn des neuen Jahres wurde Mashenka nach Moskau gebracht. Und es ist seltsam: Diese Trennung war eine Erleichterung für Ganin.
Im Sommer kehrte Mascha zurück. Sie rief Ganin in die Hütte und sagte, dass ihr Vater nie wieder eine Hütte in Voskresensk mieten möchte und sie jetzt fünfzig Meilen von dort entfernt lebt. Ganin ging zu ihrem Fahrrad. Schon im Dunkeln angekommen. Mashenka wartete vor den Toren des Parks auf ihn. "Ich gehöre dir", sagte sie. "Mach was du willst mit mir." Aber im Park war ein seltsames Rascheln zu hören, Mashenka war zu fügsam und bewegungslos. "Es scheint mir, dass jemand kommt", sagte er und stand auf.
Ein Jahr später traf er sich mit Mashenka in einem Landzug. Sie stieg an der nächsten Station aus. Sie haben sich nie wieder gesehen. Während des Krieges tauschten Ganin und Mashenka mehrmals sanfte Briefe aus. Er war in Jalta, wo "ein militärischer Kampf vorbereitet wurde", irgendwo in Kleinrussland. Dann haben sie sich verloren.
Am Freitag beschließen Colin und Gornotsvetov anlässlich einer Verlobung, Klaras Geburtstag, Ganins Abreise und Podtyagins angeblicher Abreise nach Paris, eine "Feier" für seine Nichte abzuhalten. Ganin mit Podtyagin geht zur Polizei, um ihm mit einem Visum zu helfen. Als das lang erwartete Visum eingeht, hinterlässt Podtyagin versehentlich einen Reisepass in der Straßenbahn. Er hat einen Herzinfarkt.
Das festliche Abendessen ist traurig. Podtyagin wird wieder krank. Ganin gibt dem bereits betrunkenen Alferov einen Drink und schickt ihn in den Schlaf. Er selbst stellt sich vor, wie er Mascha am Morgen am Bahnhof treffen und sie mitnehmen wird.
Nachdem Ganin seine Sachen gepackt hat, verabschiedet er sich von den Boardern, die am Bett des sterbenden Podtyagin sitzen, und geht zum Bahnhof. Es bleibt noch eine Stunde, bis Mashenka eintrifft. Er setzt sich auf eine Bank im Park in der Nähe des Bahnhofs, wo er sich vor vier Tagen an Typhus, das Anwesen und Maschas Vermutung erinnerte. Allmählich "mit gnadenloser Klarheit" erkennt Ganin, dass seine Affäre mit Mashenka für immer endete. "Es dauerte nur vier Tage - diese vier Tage waren vielleicht die glücklichsten Zeiten seines Lebens." Das Bild von Mashenka blieb beim sterbenden Dichter im "Haus der Schatten". Und es gibt keine andere Mashenka und kann es nicht sein. Er wartet auf den Moment, in dem ein Expresszug aus dem Norden die Eisenbahnbrücke entlang fährt. Er nimmt ein Taxi, fährt zu einem anderen Bahnhof und steigt in einen Zug in den Südwesten Deutschlands.