Ngày xửa ngày xưa, có một con yêu tinh tinh quái làm ra một tấm gương lạ. Cái gì tốt đẹp soi vào cũng teo lại, xám xịt; cái gì xấu xí thì phình to ra. Lũ học trò của nó khiêng gương bay lên trời, rồi đánh rơi, gương vỡ thành muôn triệu hạt nhỏ hơn hạt cát. Hạt nào bay vào mắt ai, người ấy chỉ còn thấy cái xấu. Hạt nào lọt vào tim, trái tim ấy lạnh như cục băng.
Ở một thành phố đông đúc, cậu bé Kai và cô bé Gerda sống ở hai căn gác sát mái kề nhau. Giữa hai cửa sổ có hai thùng gỗ trồng hoa hồng, mùa hè hai đứa ngồi chơi dưới đó. Mùa đông, chúng áp đồng xu nóng lên ô kính đóng băng để nhìn sang nhau. Bà nội kể: “Ngoài kia có Bà chúa Tuyết. Bà bay trên những bông tuyết lớn nhất, và thở lên kính thành hoa băng.”
Một ngày hè, Kai bỗng kêu lên: “Ối, có gì đâm vào tim tớ! Có gì bay vào mắt tớ!” Gerda vội xem, nhưng chẳng thấy gì. Hai hạt gương thần đã lọt vào mắt và vào tim cậu. Từ hôm đó, Kai đổi khác hẳn. Cậu chê hoa hồng, nhại giọng bà nội để chọc cười. Cậu cầm kính lúp soi bông tuyết và nói: “Nhìn này, bông tuyết đều đặn hơn hoa thật nhiều. Chẳng có chỗ nào hỏng cả!”
Mùa đông ấy, Kai kéo xe trượt ra quảng trường. Một chiếc xe lớn sơn trắng lướt tới, người ngồi trên xe khoác áo lông trắng muốt. Kai buộc xe mình vào. Chiếc xe lớn chạy nhanh dần, ra khỏi cổng thành, rồi bay vút lên giữa trời tuyết. Người khoác áo trắng quay lại: đó là Bà chúa Tuyết. Bà hôn lên trán Kai. Cậu hết thấy lạnh, và quên luôn cả Gerda lẫn bà nội ở nhà.
Kai đi mãi không về, nhưng Gerda nhất định không tin là mất bạn. Mùa xuân, cô bé tặng con sông đôi giày đỏ mới để xin nó chỉ đường. Chiếc thuyền nhỏ đưa Gerda tới khu vườn của một bà lão biết phép. Chiếc lược vàng của bà chải tóc khiến cô bé quên hết mọi chuyện. Nhưng một hôm, Gerda thấy bông hồng vẽ trên mũ bà lão. Cô nhớ ra Kai, khóc òa. Nước mắt rơi xuống đất, một bụi hồng mọc lên thì thầm: “Kai vẫn còn đâu đó. Đi tìm bạn đi!”
Gerda chạy ra khỏi vườn thì trời đã sang thu. Một chú quạ kể rằng có chàng trai nghèo vừa cưới nàng công chúa thông minh nhất xứ. Gerda mừng rỡ, đêm ấy theo quạ lẻn vào. Cô cầm ngọn đèn soi vào gáy chàng hoàng tử đang ngủ. Không phải Kai rồi! Gerda òa khóc. Hoàng tử và công chúa nghe chuyện, thương cô bé lắm. Họ cho Gerda đôi ủng, đôi bao tay ấm và một cỗ xe bằng vàng để lên đường.
Trong khu rừng tối, bọn cướp chặn cỗ xe vàng. Cô con gái nhỏ của bọn cướp đòi giữ Gerda làm bạn chơi. Đêm đó, những con chim bồ câu nhốt trên xà nhà thì thầm: “Chúng tôi thấy Kai rồi. Cậu ngồi trên xe Bà chúa Tuyết, bay về phía xứ Lapland.” Nghe Gerda kể chuyện, cô bé nhà cướp cảm động. Sáng ra, cô cởi dây cho chú tuần lộc, đưa Gerda đôi găng của mẹ mình và dặn: “Đưa bạn ấy tới lâu đài Bà chúa Tuyết nhé!”
Tuần lộc phi ngày phi đêm, qua lều bà lão người Lapp, tới nhà bà lão người Phần Lan. Tuần lộc xin: “Bà ơi, bà cho cô bé sức mạnh của mười hai người để thắng Bà chúa Tuyết.” Bà lão lắc đầu, mỉm cười: “Ta không cho được sức mạnh nào lớn hơn sức mạnh cô bé đang có. Người và vật đều giúp cô bé đi chân đất tới tận đây. Sức mạnh ấy ở trong trái tim tốt lành và ngây thơ của nó.”
Tuần lộc đặt Gerda xuống gần lâu đài Bà chúa Tuyết. Cô bé đứng một mình giữa xứ tuyết, không ủng, không găng. Một đoàn bông tuyết khổng lồ ào tới, đó là đội lính canh của Bà chúa Tuyết. Gerda chắp tay cầu nguyện. Hơi thở của cô hóa thành những thiên thần nhỏ, càng lúc càng đông. Các thiên thần đẩy lùi đám bông tuyết và xoa ấm đôi chân, đôi tay cô bé.
Lâu đài của Bà chúa Tuyết có hàng trăm gian phòng bằng tuyết, lấp lánh mà lạnh lẽo vô cùng. Giữa sảnh lớn là một mặt hồ đóng băng, vỡ thành nghìn mảnh. Kai ngồi đó, tím tái vì lạnh mà không hề biết, vì tim cậu đã thành cục băng. Cậu xếp đi xếp lại những mảnh băng, cố ghép thành chữ “Vĩnh cửu”. Bà chúa Tuyết đã hứa: “Ghép được chữ ấy, cháu sẽ được tự do, ta cho cháu cả thế giới và một đôi giày trượt mới.” Rồi bà bay đi xứ nóng, để Kai ở lại một mình.
Gerda bước vào sảnh băng và nhận ra Kai ngay. Cô chạy tới ôm chầm lấy bạn, nhưng Kai vẫn ngồi im, lạnh lùng. Gerda khóc, những giọt nước mắt nóng hổi rơi xuống ngực Kai, thấm vào tận tim, làm tan cục băng và cuốn trôi mảnh gương. Gerda hát bài hát về hoa hồng ngày xưa. Kai bật khóc, và hạt gương trôi khỏi mắt cậu. Cậu reo lên: “Gerda! Cậu đi đâu lâu thế?” Những mảnh băng vui mừng nhảy múa, rồi tự xếp thành chữ “Vĩnh cửu”.
Hai bạn nắm tay nhau rời lâu đài. Đi tới đâu, gió lặng và nắng lên tới đó. Tuần lộc đón họ, cô bé nhà cướp cưỡi ngựa đi ngang, vẫy chào rồi phi vào thế giới rộng lớn. Về tới căn gác quen, bà nội vẫn ngồi đọc sách dưới nắng, hoa hồng nở đầy trên mái. Hai đứa nhận ra mình đã lớn, nhưng trong tim vẫn là trẻ thơ. Và ngoài kia, mùa hè đã về, ấm áp và tươi đẹp.