In einer Hütte am Waldesrand lebte eine Witwe mit ihren beiden Töchtern, die arbeitsam, gut und unverdrossen waren. In ihrem Garten standen zwei Rosenbäumchen, davon trug das eine weiße, das andere rote Rosen und weil die Mädchen den Rosenbäumchen glichen, hieß das eine Schneeweißchen, das andere Rosenrot.
In einem kalten Winter bat ein Bär um Einlass, der sich ein wenig aufwärmen wollte. Erst fürchteten sich die Mädchen, doch als er freundlich zu ihnen sprach, klopften sie ihm den Schnee aus dem Pelz und walgerten mit ihm herum. So geschah es den ganzen Winter lang, bis der Frühling kam und der Bär sich von den Mädchen verabschiedete. Als er zur Tür heraus wollte, blieb er am Türhaken hängen - ein Stück seiner Haut riss auf und darunter schimmerte es wie Gold.
Nach einiger Zeit schickte die Mutter die Kinder in den Wald. Da fanden sie einen gefällten Baum, an dessem Stamm ein Zwerg auf und ab sprang, der seinen langen Bart eingeklemmt hatte. Schneeweißchen befreite ihn mit ihrer Schere, der Zwerg aber schrie die beiden an und verfluchte sie. Noch zweimal begegneten die Mädchen dem ruppigen Gesellen. Einmal, als sich beim Angeln seine Angelschnur mit dem Bart verflochten hatte und ein anderes Mal, als sich ein großer Adler auf ihn gestürzt hatte, um ihn in die Luft zu reißen. Jedesmal wurde er von den Schwestern befreit und jedesmal wurden sie von ihm beschimpft.
Eines Abends, als der Zwerg auf einer Lichtung seine gestohlenen Schätze ausgebreitet hatte und dabei von den Mädchen überrascht wurde, kam der Bär auf sie zu. Der Zwerg herrschte die Kinder an, sie sollten ihm zu Hilfe eilen, doch der Bär versetzte dem Kleinen einen solch gewaltigen Tatzenhieb, dass er klaftertief unter die Erde fuhr.
In diesem Augenblick fiel das Bärenfell ab und vor den Mädchen stand ein schöner Prinz. Er bat Schneeweißchen um ihre Hand, Rosenrot wurde mit seinem Bruder vermählt.
Gemeinsam mit der Mutter zogen sie nun ins Schloss und nahmen auch die beiden Rosenbäumchen mit.