В одном далеком королевстве жила молодая принцесса. У нее была большая и счастливая семья, а еще у нее была лучшая подруга из соседнего королевства. У той принцессы тоже была большая семья, но родители, а особенно старший брат, наследник трона, были злыми и жестокими людьми. Королевские семьи между собой не ладили, но все же старались соблюдать приличия. В один прекрасный осенний день у одного из принцев соседнего королевства был день рождения. В его честь был организован большой банкет, а вечером должен был состояться бал. На этот праздник пригласили и нашу принцессу с семьей.
Принцесса была рада, что увидит свою подругу, так как общение с её родственниками никакого удовольствия не доставляло. Королевскую семью по приезду проводили в банкетный зал, где было накрыто множество столов, которые ломились от яств. Принцесса со своей подругой решили сесть в самый дальний угол зала, чтобы никто не мешал им общаться. Они весело болтали и смеялись, когда из коридора, откуда прислуга выносила подносы с едой, выскочила собака. Она подбежала к принцессам, весело виляла хвостом и жалась к их ногам. Девушки поздно заметили, что собака вся грязная, и их чудесные платья перепачканы.
Они тихонечко вышли в сад и попросили у садовника ведро воды, чтобы отмыть грязные пятна. Внезапно в саду появилась злая королева. Когда она увидела, в каком состоянии принцессы, она и вовсе пришла в ярость. Она кричала, что ей вовсе не стоило приглашать на день рождения нашу принцессу и все её семью, потому что они редкостные свиньи. Подруга пыталась утихомирить мать и объяснить, что они просто приласкали собаку, и она их перемазала, но королева не слушала и продолжала сыпать оскорблениями. Тогда принцесса не выдержала, схватила ведро и выплеснула его на голову королеве. Тут появился наследный принц, который помимо скверного характера обладал еще темными магическими силами. Принцесса лишь успела заметить, что он навел на нее жезл с фиолетовым камнем, как она тот час же превратилась в маленькую белую собачку с рыжими пятнами. Девушка перепугалась и бросилась бежать.
Принцесса-собачка долго бежала прочь от дворца. Наступила ночь, пришлось найти приют под большим мостом. И день, и ночь собачка бродила по городу в поисках еды и помощи, но люди не готовы были ни накормить бедняжку, ни взять к себе в дом. Дни и ночи становились холоднее, и принцесса поняла, что одна не выживет. Она прибилась к стае бродячих собак, которые убегали из города. Собачка долго следовала за ними, пока они, наконец, не остановились в дремучем лесу. Там собаки нашли старую медвежью берлогу у реки и устроили в ней свое логово.
Наступила зима. Еду было найти все сложнее, да и маленькой собачке доставались лишь обломки костей. Собачка вылезла из логова и отправилась к реке, которая еще не успела полностью покрыться льдом. Принцесса заглянула в воду и увидела, что в отражении на нее смотрит не собака, а грустная и замученная девушка, очень похожая на ту жизнерадостную принцессу, которой она когда-то была. От этого на душе стало еще тяжелее, очень хотелось броситься в ледяную воду, чтобы заснуть вечным сном и больше не думать о своей беде. От этих мыслей её отвлек скрип снега и стук копыт. Собачка подняла голову и увидела всадника. Она что было мочи начала кричать: «Помогите! Помогите!», но получалось лишь визгливо тявкать. Всадник услышал лай и остановился.
Принц, а всадником был именно принц, путешествующий по миру в поисках счастья и ничего не нашедший, пожалел малышку. Он заботливо посадил её себе запазуху, прижал к себе и поехал в свой замок. Принцесса-собачка не помнила, сколько и куда они ехали, потому что, согревшись, она тут же уснула. Очнулась она ночью, когда они подъезжали к большому замку. Принц отнес её в небольшую, но уютную комнату с камином. Он принес ей молока и еды, а сам отправился спать. Каково же было его удивление на следующее утро, когда в комнате на полу он нашел не маленькую собачку, а спящую девушку. То ли чары сами развеялись, то ли принцесса встретила свое счастье, которое победила зло… А принц тихо сел рядом со спящей девушкой, взял её за руку, смотрел на неё и боялся пошевелиться, чтобы не разбудить.