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