Ngày xưa, có một ông lão goá vợ sống với cô con gái nhỏ. Ông lấy vợ kế, mà bà vợ kế lại chẳng ưa gì cô bé. Một hôm ông lão đi vắng, bà ta gọi cô bé lại, giọng ngọt xớt: “Con sang nhà dì con trong rừng, mượn cho mẹ cái kim với cuộn chỉ để may áo.” Cô bé ngoan ngoãn vâng lời. Nhưng cô biết người dì trong rừng ấy chính là bà chằng Baba Yaga, chị của mẹ kế. Cô bé không đi thẳng tới đó, mà chạy sang nhà bà dì ruột của mình trước, để hỏi xem nên làm thế nào.
Bà dì ruột hiền hậu nghe chuyện, xoa đầu cô bé: “Cháu ơi, đến nhà Baba Yaga, cây bạch dương sẽ quất cành vào mắt cháu, cháu hãy lấy dải băng buộc cành lại. Cánh cổng sẽ kêu cót két đòi đóng sập, cháu hãy rót dầu vào bản lề. Bầy chó sẽ nhảy xổ ra, cháu hãy ném cho chúng mẩu bánh mì. Con mèo sẽ định cào cháu, cháu hãy cho nó miếng giăm bông.” Rồi bà gói cho cô bé dải băng, chai dầu, bánh mì và giăm bông. Cô bé cảm ơn dì, rồi đi vào rừng.
Cô bé đi mãi, đi mãi, tới một khoảng rừng âm u. Ở đó có một túp lều đứng trên hai cái chân gà khổng lồ, cứ xoay qua xoay lại. Cây bạch dương bên lối vào quất cành vun vút, cô bé lấy dải băng buộc cành lại gọn gàng. Cánh cổng kêu cót két, cô bé rót dầu vào bản lề, cổng mở ra êm ru. Bầy chó nhảy xổ ra, cô bé ném bánh mì cho chúng, chúng vẫy đuôi để cô đi qua. Trong lều, Baba Yaga đang ngồi dệt vải, mũi dài chạm tới trần nhà.
Baba Yaga nhìn cô bé, nhe hàm răng sắt, cười khùng khục: “Cháu đến mượn kim chỉ à? Được thôi. Nhưng ngồi dệt vải cho bà một lúc đã.” Rồi mụ ra ngoài, dặn nhỏ cô hầu gái: “Đi đốt lò tắm, đun nước cho thật nóng. Tắm rửa xong, ta sẽ giữ con bé này ở lại làm người hầu cho ta mãi mãi, không bao giờ cho về nữa!” Cô bé nghe thấy hết. Tim đập thình thịch, nhưng cô vẫn bình tĩnh, lấy chiếc khăn thêu duy nhất của mình tặng cô hầu gái, khẽ nhờ: “Chị ơi, chị đun lò thật chậm thôi nhé.”
Trong góc lều, một con mèo gầy nhom đang rình chuột, mắt xanh lè nhìn cô bé. Cô bé lấy miếng giăm bông chia cho mèo, rồi hỏi: “Mèo ơi, làm sao để cháu thoát khỏi đây?” Mèo ăn xong, liếm mép, thì thầm: “Cô bé tốt bụng, đây là chiếc khăn mặt và chiếc lược. Chạy đi! Khi nghe Baba Yaga đuổi sau lưng, hãy áp tai xuống đất. Mụ tới gần thì ném khăn mặt, rồi ném chiếc lược.” Mèo ngồi vào khung cửi, dệt thay cô bé, cho tiếng thoi lách cách không ngừng. Cô bé nhẹ nhàng lẻn ra cửa.
Bầy chó thấy cô bé thì vẫy đuôi. Cánh cổng mở êm ru. Cây bạch dương rẽ cành cho cô đi. Cô bé chạy một mạch vào rừng. Một lúc sau, Baba Yaga quay lại, thấy mèo đang dệt vải thì tức giận lắm. Mụ nhảy vào chiếc cối gỗ, cầm chày làm mái chèo, cầm chổi xoá dấu vết, rồi bay vù đuổi theo. Cô bé áp tai xuống đất, nghe tiếng mụ đã gần. Cô ném chiếc khăn mặt xuống đường, khăn hoá thành một dòng sông rộng mênh mông. Baba Yaga phải dừng lại, chờ mãi mới qua được sông.
Qua được sông, Baba Yaga lại bay vù đuổi tiếp. Cô bé lại áp tai xuống đất, nghe mụ đã gần lắm rồi. Cô ném chiếc lược ra sau lưng, chiếc lược hoá thành một khu rừng rậm rạp, cây đan vào nhau kín mít. Baba Yaga gặm cây, bẻ cành mãi mà không sao qua được, đành quay về. Mụ mắng con mèo: “Sao mày để nó chạy?” Mèo đáp: “Tôi hầu bà bao năm, bà chưa cho tôi miếng nào. Cô bé cho tôi giăm bông.” Bầy chó, cánh cổng, cây bạch dương và cô hầu gái cũng đáp như vậy: cô bé đối xử tử tế với chúng, còn Baba Yaga thì chưa bao giờ.
Cô bé chạy về tới nhà thì cha cũng vừa về. Ông lão hỏi con đi đâu mà mặt mũi lấm lem. Cô bé kể lại hết đầu đuôi. Ông lão nghe xong, giận bà vợ kế lắm, đuổi bà ta ra khỏi nhà, không bao giờ cho quay lại. Từ đó, hai cha con sống với nhau yên vui. Cô bé vẫn hay chia bánh cho chó, cho mèo, rót dầu cho cánh cổng kêu cót két, vì cô biết rằng lòng tốt dù nhỏ bé cũng có ngày cứu mình qua cơn nguy khốn.