Цыганский табор кочует по степи. Описана их веселая жизнь, спокойный сон у колес телег, незамысловатый быт – рваные шатры, ужин на костре.
Цыган-старик ждет свою дочь Земфиру, но она возвращается не одна. Девушка приводит с собой молодого парня по имени Алеко. Она рассказывает, что юноша нарушил закон, скрывается от властей, и хочет жить в цыганском таборе.
Старик без колебаний соглашается принять Алеко в свою семью, готов делить с ним пищу и кров. Отец Земфиры говорит ему, что тот может заняться любым цыганским промыслом – ковать железо, веселить публику, петь.
Парень и девушка влюблены друг в друга. Алеко вырос в богатой семье, в обществе, которое считает порочным и лживым. Юноше по душе цыганская жизнь. Земфира удивлена, что ему не нужны большие дома, женщины в красивых нарядах. Юноша отвечает ей, что в той жизни нет любви, что ему дороже Земфира в своей простенькой одежде.
Прошло несколько лет, цыгане по-прежнему кочуют, Алеко все также нравится их вольная жизнь. Он водит медведя перед благодарной публикой, старик бьет в бубен, а его жена собирает дань. У молодой пары рождается ребенок. Земфира напевает песню, в которой странные слова. Песня рассказывается об охладевших чувствах к мужу, о любви к другому. Девушка намекает, что чувства к Алеко уже прошли. Парень не выдерживает, просит жену замолчать. Ощущая неверность своей возлюбленной, Алеко страдает, неспокойно спит. Своим ночным бредом он пугает Земфиру, и тогда она открывается отцу, что ей опостылел Алеко.
Парень очнулся от тяжелого сна. Старик спрашивает, что беспокоит его? Тот отвечает, что его больше не любит Земфира. Старый цыган разъясняет ему, что цыгане выросли среди ясного неба, на воле, что не стоит слишком серьезно воспринимать любовь. Он призывает парня не переживать по поводу изменчивости женской натуры, что невозможно заставить себя любить. Алеко с чувством вспоминает прежнее отношение Земфиры.
Старик советует парню утешиться и рассказывает ему историю своей жизни. Цыганку, в которую он был влюблен, звали Мариулой. Она-то и родила дочь Земфиру, но влюбилась в другого и сбежала, покинув дочь. Отец Земфиры не стал разыскивать беглецов, мстить им. Он простил свою ветреную жену, отпустил ее с миром. Он считает, что любовь и радость невозможно удержать на привязи, а также, что былого не воротишь.
Алеко недоумевает, как мог старик так поступить, говорит о том, что измену простить бы не смог. Он бы попытался вернуть себе то, на что имеет право. Если бы это не получилось, то он убил бы беззащитного врага, насладившись местью.
Земфира уходит на свидание к другому цыгану, которого полюбила. Они предаются страстной страсти, говорят друг другу нежные слова. Земфира возвращается в семью, пообещав цыгану вновь встретиться. В первый раз Алеко не замечает исчезновения Земфиры, но следующая ночь для влюбленных оказывается роковой. Проснувшийся Алеко, не находит Земфиры рядом. Он взбудоражен, его бросает и в жар, и в холод. Он выходит из шатра, но вокруг все тихо, все спит.
Он идет к могиле, которая виднеется неподалеку. Подойдя к ней, он видит тени, слышит шепот. Один голос говорит, что уже пора уходить. Другой голос просит еще немного повременить, но слышит в ответ, что муж может проснуться.
Алеко вмешивается в разговор влюбленных, отвечает, что муж уже проснулся. Он вонзает нож в любовника жены, а затем убивает и ее. Утром цыгане хоронят убитых, а отец Земфиры требует от убийцы ухода из табора. Цыгане покидают Алеко, который остается в поле один.
Эпилог
Автор рассказывает о том, как, пресытившись политической обстановкой в стране и городской жизнью, кочевал в цыганском таборе. Он пылал страстью к цыганке, по имени Мариула. Автору нравилась их вольная жизнь, но и у цыган не нашел счастья. Автор видел в ней те же разочарования и беды, как и в любой другой жизни.