На старом, покрытом паутиной чердаке дома живут брошенные детьми игрушки: прелестная Кукла, деревянная Лошадка, японский заводной Соловей и Свинья-копилка. Игрушки жалуются друг другу, что дети их совсем позабыли и не хотят больше с ними играть. Вдруг в углу за часами они замечают Оловянного солдатика и в честь гостя решают устроить игрушечный бал. Под звуки вальса кружится красавица балерина. Очарованный ее грацией и изяществом, Оловянный солдатик решается признаться в любви. Но в этот момент появляется Чертёнок, который всегда обижает игрушки. На их защиту становится Солдатик и побеждает в честной дуэли. Чертёнок делает вид, что хочет подружиться с игрушками. Он предлагает Солдатику достать звезду с неба, подарить ее балерине и этим завоевать сердце красавицы. Поверив ему, Солдатик взбирается на окно, и Чертёнок сталкивает его вниз. 

Бедный Солдатик оказывается на улице, где знакомится с Крысой и Кротом. Крыса готова помочь Солдатику, если тот послужит ей: она хочет выменять красивую шубку Крота на сладкоголосого Соловья, которого поймала и держит в клетке. Солдатику становится жалко птицу: ведь соловей не может жить в неволе! Он решает освободить Соловья, а тот обещает вернуть Солдатика домой, к прекрасной Балерине.

Узнав о бегстве, Крыса пытается сама изобразить чудесные соловьиные трели: ведь Крот ничего не видит! Однако в обмен на такое ужасное пение он отказывается отдавать мягкую шубку. Между друзьями назревает драка, но тут появляется кошка… Крот убегает в свою нору, а Крысе теперь не сдобровать.

Солдатик вернулся на чердак очень вовремя: злой Чертёнок опять всех обидел. Оловянный солдатик обещает защитить игрушки. Появляется Чертёнок и вновь предлагает дружбу Солдатику, но он призывает друзей наказать обидчика. Чертёнок в страхе прячется в старинные часы, где игрушки запирают его на ключ. Солдатик и Балерина теперь вместе навсегда. Все игрушки веселятся на праздничном свадебном балу.