小公主

初到伦敦

七岁的莎拉‧克璐（Sara Crewe）是个与众不同的小女孩。母亲生她时就去世了。六岁以前她和父亲克璐上尉（Captain Ralph Crewe）都住在印度，七岁才回到英国读书。莎拉家财万贯，父亲为她花多少钱都愿意，也常常戏称她为“小公主”。但是莎拉从不因此而自满。她喜欢读书，也喜欢自己编故事、讲故事，而且常常假装自己是位公主，期许自己一定要学习公主的大家风度。到了学校之后，校长玛丽亚·敏钦（Maria Minchin）一见到他们父女，就照例直夸赞莎拉。父亲也应莎拉的要求，和她一起到玩具店里“迎接”洋娃娃艾蜜莉（Emily）。

女子学校

莎拉的学校是间女子寄宿学校。她是全校最有钱的学生，一个人就拥有两个房间。因为莎拉很喜欢法文，所以克璐上尉特别给她雇了一位法籍女佣玛丽叶特（Mariette）。莎拉即使对女佣也相当有礼貌，加上对洋娃娃艾蜜莉也好像对待自己的妹妹一样，因此玛丽叶特也很喜欢她。
第一天上法文课之前，莎拉的穿着和气度就已经引起一阵骚动。在莎拉注册前算是全校最有钱的拉维妮亚·贺伯特（Lavinia Herbert）觉得自己地位不保，在死党洁西（Jessie）面前直批评小孩子不该穿那么贵的衣服。校长以为莎拉不会说法文，给莎拉一本法文小册子要她预习；但是其实莎拉的妈妈是法国人，克璐上尉因为喜欢她妈妈的语言，从小就常常和莎拉用法文交谈，所以莎拉的法文已经相当流利了。莎拉三番两次想向校长说明，却一直被校长打断。校长告诉法籍老师莎拉没学过法文，莎拉却用法文告诉老师自己已经会小册子上的东西了。老师很高兴，因为莎拉的法文根本就像法国人一样好。然而这件事却伤了校长的自尊心，因为她本人不会法文，也常常以此为憾。
莎拉的同学亚门加德·圣约翰（Ermengarde St. John）是班上程度最差的学生，常常被同学，尤其拉维妮亚和洁西嘲笑。莎拉第一天就注意到这一点，下课后便主动跟她聊天，带她回房间作客。莎拉对自己说的故事相当有信心，决定把课本内容编成故事来帮助亚门加德学习，给她补习法文。莎拉认为这就像公主造福百姓。
学校里年纪最小的学生洛蒂·雷（Lottie Legh）是个没有妈妈却被惯坏的孩子，只要不合她意思就大哭大闹，校长和妹妹阿米莉亚小姐（Miss Amelia）都拿她没辄。只有莎拉能用想像中天堂的样子转移她的注意力，让她不再哭闹。莎拉并且答应作洛蒂在学校的妈妈。

钻石矿山

九岁那年，学校新女佣蓓琪（Becky）打扫时被莎拉的故事吸引，被拉维妮亚责骂，莎拉立刻帮她说话。有天莎拉发现蓓琪在自己房间打瞌睡，知道她累了，也不去叫她，静静的等蓓琪起来。蓓琪睁开眼，发现竟然在小姐房间睡着了，忙向莎拉道歉，莎拉则好言安慰，请她吃蛋糕，跟她聊了起来，并且答应蓓琪在以后过来打扫房间的时候把那天的故事说给她听。
同年，克璐上尉听从朋友的建议，开始经营钻石矿山的事业，这个消息很快就传遍全校。另外莎拉喜欢模仿公主的事情被拉维妮亚和洁西发现。有次洛蒂又哭闹，拉维妮亚说想打她耳光，莎拉挺身而出，拉维妮亚当众带刺的称呼莎拉“公主殿下”。从此以后，无论是嫉妒她的或是爱戴她的同学，都叫她“莎拉公主（Princess Sara）”。
第一次开采钻石矿山相当顺利，但是第二次却改变了莎拉的命运。莎拉十一岁生日前夕，克璐上尉写信告诉莎拉已经为她在巴黎订作一个洋娃娃，莎拉称之为“最后的洋娃娃（The Last Doll）”，因为她认为自己年纪不小，以后也不再适合玩洋娃娃了。校长特地给她办了一个盛大生日会，大家都想看那个“最后的洋娃娃”。莎拉也特别向校长求情让蓓琪留下来看洋娃娃。拉维妮亚问莎拉如果她变成了乞丐，是不是还能保持公主的风度，莎拉回答“我相信可以的”。就在大家玩得高兴的同时，克璐上尉的律师巴洛先生带来了坏消息。

沦为女佣

巴洛先生告诉校长钻石矿山失败，而且克璐上尉完全破产，也得热病死了。这是个很可怕的消息，因为这几年来校长一直相信莎拉将来会变得更有钱，所以自莎拉入学以来大部分的支出，包括“最后的洋娃娃”和这次生日会，都是她垫的。校长觉得自己被骗了，想立刻把莎拉赶出去。但是巴洛先生建议她把莎拉留下来替她做事，校长接受了。她马上叫阿米莉亚小姐取消生日会，要莎拉换上黑衣服来见她。
校长当面告诉莎拉发生了什么事，直接称莎拉是乞丐，要莎拉搬到阁楼去，冷冷的宣称莎拉的一切都归她所有。如果莎拉向她哀求，她或许还会同情莎拉，但是莎拉却不为所动。校长知道莎拉很聪明，什么事都一学就会，要她从今以后去教低年级法文、到厨房打杂。同时，玛丽叶特也被解雇。
莎拉搬到阁楼，住在隔壁间的蓓琪晚上来陪她，给她加油打气。从此以后莎拉每天的工作愈来愈多，只有在晚上才能到教室里看书。厨师和其他女佣受校长影响，只会欺侮、驱使她和蓓琪，拉维妮亚和洁西也常常嘲笑她。等到莎拉的样貌变得不堪的时候，校长更不许她在餐厅吃饭。不仅如此，校长和厨师也会借故不准她们吃东西，因此莎拉和蓓琪还常常挨饿。
校长不准莎拉再跟其他学生有所接触，加上很多以前和莎拉要好的同学都渐渐疏远她，莎拉决定避开与亚门加德说话的机会。但是刚从家里回到学校、对莎拉的变故还不完全了解的亚门加德以为莎拉不想再跟她做朋友了，非常难过，有天晚上偷偷到阁楼去，想求莎拉跟她合好。莎拉把自己的状况告诉亚门加德，两人不但继续做朋友，亚门加德还常常偷偷带书上阁楼给莎拉看。和亚门加德聊天时，莎拉想起自变故以来从未使用的想像力。她把冷冰冰的阁楼想像成巴士底狱，自己和蓓琪都是囚犯，校长则是监狱的狱卒。
年纪更小的洛蒂也不明白为什么莎拉生日之后就不再念书了，只穿着黑衣服来教低年级功课。她听过一些关于莎拉变故的流言，上课的时候想偷问莎拉，却总是得不到答案。有天她听说莎拉住在阁楼，也偷偷溜上去。莎拉告诉洛蒂她好希望赶快有人搬到对面那栋空屋。
亚门加德和洛蒂的探访给莎拉很大的安慰，不过她们怕被校长发现之后会带给莎拉更多麻烦，因此也不敢常常来找莎拉。莎拉平时在阁楼里吐露心事的对象除了蓓琪以外就只有艾蜜莉和老鼠梅奇斯黛克（Melchisedec）。尽管生活如此困苦，莎拉还是坚持学习当公主，因此她对厨师、女佣和校长都还是很有礼貌。
学校附近有一家十口，莎拉称他们为“大家庭（The Large Family）”，并给每个家庭成员取了好听的名字。其中最重要的几位是薇若妮卡‧尤丝塔西亚（Veronica Eustacia，真名是珍妮特‧卡麦可Janet Carmichael）、罗莎琳‧葛莱蒂思（Rosalind Gladys，真名是诺拉‧卡麦可Nora Carmichael）和基‧克莱伦斯（Guy Clarence，真名是唐纳德‧卡麦可Donald Carmichael）。平安夜前夕，唐纳德看到莎拉，施舍她六毛钱，莎拉有礼貌的拒绝，但是因为唐纳德坚持，莎拉收下这六毛钱，还说他是个“善良的好孩子”。珍妮特和诺拉知道莎拉不是乞丐，怕莎拉见怪，唐纳德却对自己的善行很得意。莎拉回去之后把这六毛钱硬币打孔穿线戴在脖子上。
有天莎拉终于忍不住了。出门买东西，走了好几哩路花了很多时间，回来挨了一整天的骂，又因为有一样东西没买到，厨师罚她不准吃饭，而街上的人只会笑她破衣破鞋、狼狈的模样。回到阁楼向洋娃娃艾蜜莉诉苦，艾蜜莉只是看着她。从来不哭的莎拉掉下眼泪，情绪终于爆发了。她把艾蜜莉打下椅子，说它只是个什么都漠不关心、没有心肠、没有感觉的稻草填充娃娃。莎拉也被自己的举动吓到了，但是饥寒交迫的感觉还是让她难以自制。她说艾蜜莉“不由自主想当洋娃娃，就像拉维妮亚和洁西不懂多少事一样”。

新邻居

不久，对面真的搬来了一位新邻居卡里斯福德先生（Mr. Carrisford）。卡里斯福德先生和莎拉的父亲克璐上尉一样都是钻石矿山事业失败之后在印度得了热病，回到英国来休养。这位新邻居的搬入引起全校学生和女佣的讨论。莎拉想起父亲也是因热病去世的，所以每当她经过对面门口的时候，都会祈求上天保佑里面的新邻居早日康复。
有天莎拉发现阁楼有只小猴子，她打开天窗的时候，正好对面卡里斯福德先生的印度仆人兰达斯（Ram Dass）也打开天窗，莎拉用多年前学的印度话问他这只是不是他的猴子。兰达斯经过莎拉同意，由天窗进入莎拉房间抓猴子。他同时也注意到莎拉的居住环境，并且回报卡里斯福德先生。从此以后，兰达斯都会讲一些“右边阁楼少女（The little girl in the righthand attic）”的事情给卡里斯福德先生听。
卡里斯福德先生正是当年邀克璐上尉投资钻石矿山事业的朋友。当年他以为事业失败，不敢面对现实而逃走，但是等到他发现是自己判断错误的时候，克璐上尉已经去世了。因此他一直认为自己对克璐上尉的死和他女儿都有责任。
大家庭家长卡麦可先生是卡里斯福德先生的律师，受卡里斯福德先生的委托去寻找克璐上尉的女儿。刚开始的时候他们相信她应该是在巴黎念书，不料在巴黎竟找不到这个人。卡里斯福德先生几乎要把克璐上尉的女儿、“不是乞丐的小女孩”和“右边阁楼少女”联想在一起了。卡麦可先生决定先到俄国去找找看。

“魔法”

在一个特别寒冷又阴雨濛濛的冬天里，莎拉上街买东西，想像自己的衣服是干的，捡到一个没有人的铜板，买六个面包充饥，因为校长罚她不准吃晚餐。走着走着真的看到水沟里一个四毛钱硬币！她把硬币捡起来，但是还是先去面包店问问是不是有人掉的。面包店门口坐着一个小乞丐，已经四餐没吃了。莎拉告诉自己这个小乞儿是“广大民众的其中之一（one of the populace）”，而且比自己还要饥饿。莎拉要她等一等，到店里问老板娘个铜板的事，老板娘说那应该是没有人的，莎拉可以保留。莎拉用它买了四个面包，老板娘看莎拉饿成那样，又多送她两个。莎拉给了小乞儿五个面包，自己只留一个。老板娘非常惊讶，告诉小乞儿只要饿了就来店里。
就在莎拉出门的时候，兰达斯带了一个助手到莎拉房间里，似乎计划着什么。这件事只有老鼠梅奇斯黛克知道。
当晚亚门加德跟莎拉聊天时，楼下传来校长骂蓓琪的声音。原来校长的点心被人偷吃了，而厨师却一口咬定是蓓琪吃的。莎拉这时不平的告诉亚门加德始作俑者明明就是厨师自己，却诬赖蓓琪，蓓琪常常饿到去垃圾桶捡东西吃。亚门加德知道莎拉也常常挨饿以后，决定把她阿姨下午送来的点心拿上来给莎拉吃。莎拉也邀蓓琪一起过来。靠着房间里的简陋摆设和莎拉的想像力，她们把这个宴会变成了豪华的宫廷晚宴。但是亚门加德的举动不慎被拉维妮亚发现，拉维妮亚向校长打小报告。就在宴会要开始的时候，校长突然到阁楼上来，说这都是莎拉的主意，骂亚门加德竟然把精美的书带到肮脏的阁楼，还差点把蓓琪赶出去。然后她“处罚”莎拉明天一整天都不准吃饭。
莎拉想像著桌上有热腾腾的饭菜、壁炉烧着火、床上有厚棉被，想着想着睡着了。忽然她被煤炭烧开的声音吵醒，发现她睡前想像的一切竟然成真了！而且桌子旁还有一件漂亮的睡衣和一叠装订精美的书，书的第一页写着“给阁楼少女”。这是梦吗？还是有魔法师来过了呢？她知道这不是梦之后，马上邀请蓓琪来享用。同时兰达斯也把莎拉发现那些东西的反应告诉卡里斯福德先生。第二天全校师生看到莎拉容光焕发的样子，简直不敢相信。
这样的情景一直继续著，而且房间里的摆设也愈来愈多。有天莎拉去收包裹时，看到最大的一个写着“给右边阁楼少女”。校长命令她打开，发现里面全都是高贵的衣服，附上一张纸条说脏了、旧了随时会更新。校长心想也许哪个有钱的远亲刚找到受虐的莎拉，就用这种方式接济。于是她立刻改变对待莎拉的态度，要莎拉换上新衣服去教室念书。莎拉进教室时又引起大家的注意，就像她在学校上课的第一天那样，而且她现在看起来竟是比那时更高贵。
那天晚上，莎拉用新文具盒的笔写了一封感谢信。第二天傍晚回来时，她跟蓓琪都发现信已经被收走，而且那只小猴子又偷跑过来了。因为天冷，莎拉决定让它在这里过夜，明天早上再送回对面。
第二天下午，卡麦可先生回来，告诉卡里斯福德先生克璐上尉的女儿也不在俄国。他们决定从伦敦敏钦女子学校开始寻找。正巧莎拉把小猴子送过来，他们发现莎拉似乎对印度有些了解，便从莎拉开始问起。问到父亲叫什么名字时，莎拉回答是莱福‧克璐。卡里斯福德先生欣喜若狂，直呼“她就是那孩子”。卡麦可先生则告诉莎拉已经找她找了两年了。

尾声

卡麦可太太告诉莎拉，卡里斯福德先生就是当年找她父亲投资钻石矿山的“坏朋友”。当时卡里斯福德先生以为事业已经失败，有些心神不宁，也生了重病几乎死掉。后来他才发现原来这次其实也是成功的，但是在他康复之前莎拉的父亲就去世了。两年来他们找过了巴黎和莫斯科，却没想到原来莎拉就在伦敦。卡里斯福德先生每天看到她疲惫的样子，想让她快乐些，才叫会飞檐走壁的兰达斯送东西到阁楼里，却万万想不到她就是克璐上尉的女儿。所有事情都解释清楚后，莎拉对卡里斯福德先生的疑问烟消云散，也相当感谢他，并且决定不再回学校了。
校长听说莎拉跑到对面，深怕她把受虐的事说出去，于是也到卡里斯福德先生家。卡麦可先生当面告诉她莎拉不会回去了。这个前倨后恭的校长立刻把目标转向莎拉，想威胁利诱她，但是莎拉不为所动。校长回到学校，一向不敢反抗姐姐的阿米莉亚小姐终于鼓起勇气表达自己对校长的不满。莎拉写信给亚门加德，把事情经过告诉她，因此这件事也传遍全校。当晚蓓琪想到阁楼里不会再有晚餐、魔法和公主，心里很难过。她打开右边阁楼的门，发现兰达斯已经把晚餐准备好了，并且告诉她莎拉希望她到对面去当侍从。同时兰达斯也把阁楼里的东西从天窗搬走。
蓓琪第二天就到对面了。莎拉想起六个面包的事，决定以后只要有乞丐再到那家面包店门口，就请老板娘给面包，然后把账单送到她那里。她把这个决定告诉卡里斯福德先生，卡里斯福德先生同意了。莎拉和蓓琪到那家面包店，老板娘告诉莎拉她已经开始免费给乞丐面包了，不过有莎拉的赞助会更顺利。她又把当天那个小乞儿安妮(Anne) 收为学徒，让安妮在店里帮忙。最后，老板娘和安妮目送莎拉和蓓琪离去。