Действие происходит в первой половине 1990-х годов в городе Перми. Выпускник Уральского государственного университета Виктор Служкин устраивается работать учителем географии в одну из средних школ.
Служкину достаются девятые классы, учеников которых Виктор Сергеевич разделяет по категориям: 9а — это «красная профессура», 9б — «отцы», 9в — «зондеркоманда», возглавляемая дерзким и неуправляемым подростком Градусовым.
С «отцами» у Служкина складываются приятельские отношения, он даже позволяет себе выпивать с ними на лестничной площадке в день своего рождения. Класс «красной профессуры» замечателен тем, что там учится Маша Большакова — девушка, которая постепенно занимает все мысли географа. Тяжелее всего выстраивается общение с «зондеркомандой», поскольку никакие педагогические меры не воздействуют ни на Градусова, ни на его «присных».
Перед началом учебного года выясняется, что в соседнем доме поселился школьный друг Служкина — Будкин. Его появление вносит путаницу в личную жизнь героев романа, которая и прежде была непростой. Так, жена Надя объявляет Служкину, что прекращает с ним супружеские отношения — отныне их связывают только заботы о дочери Тате. Вскоре у Нади начинается роман с Будкиным.
В сложную цепочку личных взаимоотношений включены также: Саша Рунёва, которая любит Будкина со школьных лет; Колесников — бывший возлюбленный Саши, ныне женатый на Ветке; Кира Валерьевна, учительница немецкого языка, с которой у Будкина был кратковременный роман. Немного особняком стоит здесь Лена Анфимова — первая любовь Служкина, вышедшая замуж за шофёра-дальнобойщика и полностью посвятившая себя семье.
Ещё осенью Служкин начал рассказывать на одном из уроков про свои водные походы, и, увлекшись собственным рассказом, пообещал «отцам», что поведёт их в такой поход. Весной он выполянет своё обещание, причём в последний момент в группу попали Маша с подругой Люсей и Градусов. Участникам сплава приходится преодолеть много трудностей: они приехали не на ту речку, весь день провели без еды, катамаран сломался при прохождении порожистого участка, ночью палатка оказалась затопленной, заболела Маша. В самых сложных ситуациях двоечник Градусов ведёт себя мужественно и во всём поддерживает учителя.
Глава, рассказывающая о походе, написана, в отличие от остальных частей романа, от первого лица.
Через некоторое время после возвращения в период выпускных экзаменов Служкин узнаёт, что Маша — дочь завуча Розы Борисовны. Та, в свою очередь, обнаруживает, что Маша влюблена в учителя географии, поскольку застаёт их обнявшимися в кабинете географии. Завуч предлагает Служкину немедленно написать заявление об увольнении, что он и делает. Вечером к нему домой приходят все двоечники из 9в во главе с Градусовым и дарят бутылку дорогого вина (которую Служкин потом вылил, чтобы не пить на глазах у дочки). Экзамен по географии они сдали на тройки, а Градусов — на «отлично».