Nel regno di Dor si sta consumando una festa all'interno del castello, il buon odore di zuppa attira l'attenzione del ratto Roscuro che maldestramente cade nella ciotola che la contiene, provocando, a causa dello spavento, la morte della Regina. Dopo il funerale il Re, distrutto dal dolore, bandisce dal regno le zuppe e tutti i ratti. Scompare il sole e il regno sprofonda nelle tenebre e nella tristezza.
Diversi anni dopo, nasce Despereaux Tilling, un piccolo topolino dalle orecchie enormi. Fin dalla sua nascita, Despereaux si dimostra diverso dagli altri topi, è coraggioso e avventuroso e a differenza degli altri topi non mangia i libri ma preferisce leggerli, appassionandosi a storie di cavalieri e draghi, sognando di salvare fanciulle in difficoltà. Despereaux conosce la triste e solitaria Principessa Pea, desiderosa di sfuggire al grigiore del regno, dopo la morte della madre.
Scoperto ad infrangere le regole, per aver parlato con un essere umano, Despereaux viene bandito dal Mondo dei Topi ed esiliato in quello dei Ratti, qui conosce un altro esiliato, Roscuro. Il ratto vive aspettando un'occasione per redimersi, ma quando prova a parlare con la Principessa quest'ultima tenta di ucciderlo senza nemmeno dargli la possibilità di parlare, e ciò manifesta il suo lato oscuro, rapendo la ragazza, con la complicità di Maia, una domestica con il sogno di diventare una Principessa. Despereaux si rende conto di essere l'unico in grado di salvare Pea, manifestando il suo coraggio e spirito di avventura in segno di rivalsa e redenzione. Quando i ratti stanno per divorare la principessa Roscuro capisce di aver sbagliato e insieme a Desperaux riesce a mettere fuori gioco il capo dei ratti. Contemporaneamente il cuoco decide di cucinare di nuovo la zuppa con il risultato finale che nel regno torna infine il sole. Roscuro riesce a chiedere scusa alla principessa (che a sua volta si scusa per aver tentato di ucciderlo) e Maia, la domestica, ritrova suo padre che, anni addietro, era stato costretto con grande dolore ad abbandonarla.