Далеко раскинулась степь Бессарабии. Здесь по степям привольно кочует многоголосый цыганский табор. Вот у костра расположилась цыганская семья, которая готовит ужин. Невдалеке пасётся табун лошадей, а за шатром лежит ручной медведь. Понемногу утихают голоса. Всё умолкает и погружается в сон. Лишь в одном шатре не спит старик, ожидающий свою дочь Земфиру, которая гуляет в поле.
Появляется Земфира с молодым человеком, которого она встретила за курганом. Его преследует закон, и он хочет быть цыганом, а зовут его Алеко. Старик долго думает, а потом разрешает остаться в таборе и соглашается разделить с ним хлеб и кров.
Утром старик будит дочь и Алеко. Табор уже проснулся и отправляется в путь. Издалека кажется, что по равнине плывут разноцветные ленты, вместо цыганского обоза. По дороге Алеко рассказывает Земфире о той жизни, которую он бросил, так как в ней нет места для любви и нет веселья. А теперь его желание быть всегда с Земфирой.
Два года пролетело, как Алеко кочует с цыганами. Теперь он вольный, как и они. Он не жалеет о прошлой жизни совсем. По деревне Алеко водит медведя, зарабатывая на хлеб. Иногда он слышит цыганскую песню, которую поёт Земфира. В ней Земфира признаётся, что разлюбила Алеко. Он понимает, что девушка уж неверна ему.
Ночь опустилась на табор. Земфира говорит отцу, что ей надоела любовь Алеко, а сердце просит воли, ведь она свободная девушка. Старик утешает юношу и просит не печалиться, ведь тоска может погубить его. Земфира ещё дитя, и никто не волен приказать сердцу любить одного. Алеко жаждет отомстить своему сопернику.
У Алеко тревожно на душе. Проснувшись, он не видит Земфиры. Он встаёт и бродит вокруг шатра, а потом по тропе, ведущей за курганы. Он слышит голоса двух влюблённых, которые не могут расстаться. Она просит его бежать, но Алеко вонзает нож в соперника. В ужасе Земфира проклинает его. Тогда Алеко убивает и Земфиру.
На рассвете цыгане прощаются с убитыми и хоронят их. Старик просит Алеко покинуть их табор, так как цыгане не хотят жить с убийцей рядом. Табор скрылся в степной дали. Настала ночь. Но никто не разложил костра и не предложил переночевать под крышей.