Действие романа происходит зимой 1918/19 г. в некоем Городе, в котором явно угадывается Киев. Город занят немецкими оккупационными войсками, у власти стоит гетман “всея Украины”. Однако со дня на день в Город может войти армия Петлюры – бои идут уже в двенадцати километрах от Города. Город живет странной, неестественной жизнью: он полон приезжих из Москвы и Петербурга – банкиров, дельцов, журналистов, адвокатов, поэтов, – которые устремились туда с момента избрания гетмана, с весны 1918 г.
В столовой дома Турбиных за ужином Алексей
Муж Елены, капитан генерального штаба Сергей Иванович Тальберг, объявляет жене о том, что немцы оставляют Город и его, Тальберга, берут в отправляющийся сегодня ночью штабной поезд. Тальберг уверен, что не пройдет и трех месяцев, как он вернется в Город с армией Деникина, формирующейся сейчас на Дону. А пока он не может взять Елену в неизвестность, и ей придется остаться в Городе.
Для защиты от наступающих войск Петлюры в Городе начинается формирование русских военных соединений. Карась, Мышлаевский и Алексей Турбин являются к командиру формирующегося мортирного дивизиона полковнику Малышеву и поступают на службу: Карась и Мышлаевский – в качестве офицеров, Турбин – в качестве дивизионного врача. Однако на следующую ночь – с 13 на 14 декабря – гетман и генерал Белоруков бегут из Города в германском поезде, и полковник Малышев распускает только что сформированный дивизион: защищать ему некого, законной власти в Городе не существует.
Полковник Най-Турс к 10 декабря заканчивает формирование второго отдела первой дружины. Считая ведение войны без зимней экипировки солдат невозможным, полковник Най-Турс, угрожая кольтом начальнику отдела снабжения, получает для своих ста пятидесяти юнкеров валенки и папахи. Утром 14 декабря Петлюра атакует Город; Най-Турс получает приказ охранять Политехническое шоссе и, в случае появления неприятеля, принять бой. Най-Турс, вступив в бой с передовыми отрядами противника, посылает троих юнкеров узнать, где гетманские части.
Посланные возвращаются с сообщением, что частей нет нигде, в тылу – пулеметная стрельба, а неприятельская конница входит в Город. Най понимает, что они оказались в западне.
Часом раньше Николай Турбин, ефрейтор третьего отдела первой пехотной дружины, получает приказ вести команду по маршруту. Прибыв в назначенное место, Николка с ужасом видит бегущих юнкеров и слышит команду полковника Най-Турса, приказывающего всем юнкерам – и своим, и из команды Николки – срывать погоны, кокарды, бросать оружие, рвать документы, бежать и прятаться. Сам же полковник прикрывает отход юнкеров.
На глазах Николки смертельно раненный полковник умирает. Потрясенный Николка, оставив Най-Турса, дворами и переулками пробирается к дому.
Тем временем Алексей, которому не сообщили о роспуске дивизиона, явившись, как ему было приказано, к двум часам, находит пустое здание с брошенными орудиями. Отыскав полковника Малышева, он получает объяснение происходящему: Город взят войсками Петлюры. Алексей, сорвав погоны, отправляется домой, но наталкивается на петлюровских солдат, которые, узнав в нем офицера, преследуют его. Раненного в руку Алексея укрывает у себя в доме незнакомая ему женщина по имени Юлия Рейсе. На следующий день, переодев Алексея в штатское платье, Юлия на извозчике отвозит его домой.
Одновременно с Алексеем к Турбиным приезжает из Житомира двоюродный брат Тальберга Ларион, переживший личную драму: от него ушла жена. Лариону очень нравится в доме Турбиных, и все Турбины находят его очень симпатичным.
Василий Иванович Лисович по прозвищу Василиса, хозяин дома, в котором живут Турбины, занимает в том же доме первый этаж, тогда как Турбины живут во втором. Накануне того дня, когда Петлюра вошел в Город, Василиса сооружает тайник, в котором прячет деньги и драгоценности. Однако сквозь щель в неплотно занавешенном окне за действиями Василисы наблюдает неизвестный. На следующий день к Василисе приходят трое вооруженных людей с ордером на обыск. Первым делом они вскрывают тайник, а затем забирают часы, костюм и ботинки Василисы.
После ухода “гостей” Василиса с женой догадываются, что это были бандиты. Василиса бежит к Турбиным, и для защиты от возможного нового нападения к ним направляется Карась. Обычно скуповатая Ванда Михайловна, жена Василисы, тут не скупится: на столе и коньяк, и телятина, и маринованные грибочки.
Счастливый Карась дремлет, слушая жалобные речи Василисы.
Спустя три дня Николка, узнав адрес семьи Най-Турса, отправляется к родным полковника. Он сообщает матери и сестре Ная подробности его гибели. Вместе с сестрой полковника Ириной Николка находит в морге тело Най-Турса, и в ту же ночь в часовне при анатомическом театре Най-Турса отпевают.
Через несколько дней рана Алексея воспаляется, а кроме того, у него сыпной тиф: высокая температура, бред. По заключению консилиума, больной безнадежен; 22 декабря начинается агония. Елена запирается в спальне и страстно молится Пресвятой Богородице, умоляя спасти брата от смерти. “Пусть Сергей не возвращается, – шепчет она, – но этого смертью не карай”.
К изумлению дежурившего при нем врача, Алексей приходит в сознание – кризис миновал.
Спустя полтора месяца окончательно выздоровевший Алексей отправляется к Юлии Рейсе, спасшей его от смерти, и дарит ей браслет своей покойной матери. Алексей просит у Юлии разрешения бывать у нее. Уйдя от Юлии, он встречает Николку, возвращающегося от Ирины Най-Турс.
Елена получает письмо от подруги из Варшавы, в котором та сообщает ей о предстоящей женитьбе Тальберга на их общей знакомой. Елена, рыдая, вспоминает свою молитву.
В ночь со 2 на 3 февраля начинается выход петлюровских войск из Города. Слышен грохот орудий большевиков, подошедших к Городу.
“Белая гвардия” Булгакова в кратком содержании