Действие происходит на рынке небольшого уездного городка. Постовой городовой по имени Очумелов идёт по площади вместе со своим помощником Елдыриным. Очумелов одет в новую шинель и важно поглядывает по сторонам, пытаясь поддерживать порядок. На площади он замечает суматоху: кто-то кричит, люди столпились в круг, и среди них стоит человек по фамилии Хрюкин, который держится за окровавленный палец и жалуется, что его укусила собака.
Очумелов подходит ближе и видит маленькую белую собачонку, которая крутится поблизости. Хрюкин возмущается, что пёс испортил ему палец, и требует наказать животное и возместить ущерб. При этом он добавляет, что является мастером по золотым делам и теперь лишён возможности работать. Очумелов, стремясь проявить власть, сначала решительно заявляет, что собака должна быть уничтожена, а её владельца нужно оштрафовать, ведь на улице животное без намордника.
Однако вскоре из толпы кто-то сообщает, что эта собачка, возможно, принадлежит генералу Жигалову. Очумелов тут же меняет свою позицию. Он начинает рассуждать, что такой маленькой собаке, вероятно, нет надобности носить намордник, и стоит разобраться, не сам ли Хрюкин виноват — вдруг он задразнил пса? Сразу же и тон Очумелова смягчается, а к Хрюкину он начинает относиться с подозрением. Вмешивается Елдырин, пытается внести ясность, но сам путается в подробностях.
Пока идёт разбирательство, появляется повар из генеральского дома и говорит, что собака не генерала, а его брата. Очумелов опять меняется в лице: если собака не настоящего генерала, то, может, всё-таки нужно «проучить» её и владельца? Однако повар, выслушав спор, внезапно замечает, что, возможно, пёс и вовсе не из их дома. Снова начинается колебание Очумелова: он грозно смотрит на собачку и требует навести порядок, а Хрюкин, наоборот, снова кажется в своём праве.
В этот момент прибегает помощник повара и уточняет, что собака действительно принадлежит генералу, только именно тому, кто сейчас в гостях у Жигалова. Очумелов окончательно сбивается с толку, но, чтобы не прогневить влиятельное лицо, принимает решение отпустить собачку и прекратить конфликт. Он меняет свой тон, раздаёт указания разойтись и «не мешать приличным людям жить». Хрюкина он уже не жалеет и укоряет за то, что «сам виноват», дескать, нечего было дразнить чужое животное.
Так Очумелов за короткое время несколько раз «перекрашивается» — то обвиняет собаку и её хозяина, то выгораживает их, меняя своё мнение в зависимости от того, кто может оказаться владельцем животного. Именно эта способность «менять цвет», приспосабливаясь к обстоятельствам, и породила название рассказа — «Хамелеон». Чехов в сатирической форме обличает чинопочитание, угодничество и страх перед сильными мира сего, которые заставляют людей, подобных Очумелову, беспринципно менять позицию и поступаться собственной честью.