1985 год. Во время экспедиции в Антарктиду ледокол «Михаил Громов» подбирает со станции полярников и проходит по касательной мимо огромнейшего айсберга, с которого по всему периметру сыпятся глыбы льда. Именно в этот момент один из полярников, добегавшись за своей дурной собакой по палубе, оказывается за бортом. Пытаясь спасти товарища, капитан Петров (Петр Федоров) принимает решение, подвергающее опасности всю команду ледокола и вверенное ему судно. Из-за кляузы старпома (Алексей Барабаш) Петрова снимают с командования, а вместо него назначают капитана Севченко (Сергей Пускепалис) - человека опытного и крайне неприятного. По техническим причинам Петрову не удается покинуть ледокол сразу по прибытии Севченко. А через несколько дней судно застревает в паковых льдах на 133 дня. Да еще и тот самый айсберг, из-за которого начались проблемы Петрова, медленно но верно движется в сторону закованного во льдах «Михаила Громова».
У «Ледокола» в основе реальная история, случившаяся в 1985 году с ледоколом «Михаил Сомов». Но режиссер фильма Николай Хомерики вовсе не претендует на документальность, оставляя капитана в отставке на борту корабля (прототип Петрова покинул судно до того, как оно застряло) и игнорируя прошедшие цензуру газетные статьи про героизм команды.