Náuka o snoch je podivným výletom do ríše snov. Romantická fantázia sa odohráva v chaotickom mozgu výstredného mladíka Stephana Mirouxa (Gael Garcia Bernal), ktorého sny neustále napádajú realitu. V snoch sa z neho stáva charizmatický televízny moderátor. V skutočnosti má však len nudnú prácu vo vydavateľstve. Zamilovaný je do susedky Stephanie (Charlotte Gainsbourg), ktorá je síce z počiatku Stephanom okúzlená, ale neskôr je zmätená jeho detinskosťou a labilným postojom k realite. V snahe získať si jej srdce sa mu snaží pomôcť kolega Guy (Alain Chabat), ale jeho rady nepadajú na úrodnú pôdu a Stephan sa ešte viac upína k svojim snom, v ktorých chce hľadať potrebné odpovede.
Rok 1945 Stalinova moc ovláda Poľsko. Slávny maliar Wladyslaw Strzeminski odmietne robiť umelecké kompromisy a tak sa stane prenasledovaným, vylúčia ho z univerzity, jeho obrazy sú strhané zo stien galérií. Za pomoci niektorých svojich študentov sa rozhodne bojovať proti komunistickej strane a stáva sa symbolom umeleckého odporu proti tyranii.
Mladá Američanka Isabel prichádza za tehotnou sestrou Roxeanne do Paríža práve vo chvíli, keď ju opustil jej francúzsky manžel Charles-Henri. Muž sa chce rozviesť, žena je proti. Do hry vstupujú rodiny oboch strán a vzniká spor o Roxeannin starý hodnotný obraz. Medzitým sa Isabel zapletie so svojím francúzskym príbuzným, naničhodným sukničkárom, a Roxeanne nájde oporu v sympatickom právnikovi. Do udalostí nečakane zasiahne žiarlivý muž manželovej milenky, ktorý spôsobí tragédiu.