«Когда небесный гром (ведь и небесному терпению есть предел) убьет всех до единого современных писателей и явится лет через 50 новый, настоящий Лев Толстой, будет создана изумительная книга о великих боях в Киеве. Наживутся тогда книгоиздатели на грандиозном памятнике 1917—1920 годам».
М. Булгаков. «Киев-город»
Временем работы Михаила Булгакова над романом о Гражданской войне принято считать 1923—1924 годы, однако известно, что еще в 1922 году он написал рассказы «Красная корона» и «В ночь на 3-е число», которые позднее в несколько измененном виде вошли в роман. В 1922 году они были напечатаны в берлинской газете «Накануне». К тому времени Булгаков жил в Москве, но киевские события 1918 года, которым он был свидетелем, были еще свежи в его памяти. «...По счету киевлян у них было 18 переворотов. Некоторые из теплушечных мемуаристов насчитали их 12; я точно могу сообщить, что их было 14, причем 10 из них я лично пережил», — так он писал в очерке «Киев-город» в 1923 году.
Это время было самым тяжелым в жизни писателя. В своем дневнике в начале 1922 года Булгаков отмечает: «Питаемся с женой впроголодь», «Идет самый черный период моей жизни. Мы с женой голодаем», «Валенки рассыпались». Булгаков перебивался сдельной работой, выполняя работу фельетониста и литературного корректора для нескольких изданий, старался вырваться из тисков бедности и нужды, пытаясь выкроить время для написания своего первого романа.
В автобиографическом очерке «Мне приснился сон» Булгаков подробно описывает, как он начал писать роман: «Я притянул насколько возможно мою казарменную лампу к столу и поверх ее зеленого колпака надел колпак из розовой бумаги, отчего бумага ожила. На ней я выписал слова: "И судимы были мертвые по написанному в книгах сообразно с делами своими". Затем стал писать, не зная еще хорошо, что из этого выйдет. Помнится, мне очень хотелось передать, как хорошо, когда дома тепло, часы, бьющие башенным боем в столовой, сонную дрему в постели, книги и мороз. И страшного человека в оспе, мои сны. Писать вообще очень трудно, но это почему-то выходило легко».
В 1923 году Булгаков продолжил работу над романом. Она шла медленно: писателя отвлекал коммунальный быт в квартире № 50 по Большой Садовой. «Я положительно не знаю, что делать со сволочью, что населяет эту квартиру», — пишет он в своем дневнике. Отвлекала служба — Булгаков работает фельетонистом в газете «Гудок». Тем не менее в мартовском номере журнала Исайи Лежнева «Россия» появляется сообщение: Булгаков заканчивает роман «Белая гвардия», «охватывающий эпоху борьбы с белыми на юге (1919—1920)».
Весной 1923 года Булгаков писал в письме своей сестре Надежде: «…срочно дописываю 1-ю часть романа; называется она "Желтый прапор"». В том же году Булгаков в фельетоне «Самогонное озеро» писал: «А роман я допишу, и, смею уверить, это будет такой роман, от которого небу станет жарко…» В автобиографии 1924 года Булгаков написал: «Год писал роман "Белая гвардия". Роман этот я люблю больше всех других моих вещей». Первая жена Михаила Булгакова Татьяна Николаевна Лаппа рассказывала М.О. Чудаковой о времени его работы над романом: «…Писал ночами "Белую гвардию" и любил, чтоб я сидела около, шила. У него холодели руки, ноги, он говорил мне: "Скорей, скорей горячей воды"; я грела воду на керосинке, он опускал руки в таз с горячей водой…»
Судя по отсутствию каких-либо записей в дневнике в июне 1923 года, Булгаков, видимо, был полностью поглощен работой над романом. 11 июля Булгаков записал: «Самый большой перерыв в моем дневнике… Стоит отвратительное, холодное и дождливое лето». 25 июля Булгаков отметил: «Роман из-за "Гудка", отнимающего лучшую часть дня, почти не подвигается». Несмотря на это, в конце августа 1923 года роман был готов в черновом варианте. Об этом Булгаков сообщил своему другу писателю Юрию Львовичу Слезкину. В этом же письме Булгаков отметил, что работы предстоит еще много: «…но он еще не переписан, лежит грудой, над которой я много думаю. Кое-что исправлю. Лежнев начинает толстый ежемесячник "Россия" при участии наших и заграничных… По-видимому, Лежневу предстоит громадная издательско-редакторская будущность. Печататься "Россия" будет в Берлине… Во всяком случае, дело явно идет на оживление… в литературно-издательском мире».
Затем в течение полугода о романе в дневнике Булгакова ничего не говорится, и лишь 25 февраля 1924 года появилась запись: «Сегодня вечером… я читал куски из "Белой гвардии"… По-видимому, и в этом кружке производило впечатление». Коллего Булгакова по «Гудку» В.П. Катаев вспоминал: «…Булгаков читал нам свои вещи — уже не фельетоны, а отрывки из своего романа. Было даже удивительно, когда он в один прекрасный день сказал нам: "Знаете что, товарищи, я пишу роман и, если вы не возражаете, прочту вам несколько страничек". И он прочитал нам несколько страниц очень хорошо написанного живого, острого полотна, которое потом постепенно превратилось в "Белую гвардию"…»
Машинистка Ирина Сергеевна Раабен, которая «печатала этот роман не менее четырех раз — с начала до конца», спустя много лет рассказывала о том времени: «Поздней осенью 1921 года пришел очень плохо одетый человек и спросил, может ли она печатать ему без денег — с тем, чтобы он заплатил ей позже, когда его работа увидит свет. Я, конечно, согласилась. Он приходил каждый вечер, часов в 7—8, и диктовал по 2—3 часа, и, мне кажется, отчасти импровизировал… Первое, что мы стали с ним печатать, были "Записки на манжетах"… Он упомянул как-то, что ему негде писать… Было очевидно, что ему жилось плохо, я не представляла, что у него были близкие. Он производил впечатление ужасно одинокого человека». Также Раабен говорила, что Булгаков надиктовывал ей текст с голоса, использовал отдельные «листочки», записные книжки, но «никакой рукописи как таковой не было».
9 марта 1924 года в берлинской газете «Накануне» появилось следующее сообщение Ю.Л. Слезкина: «Роман "Белая гвардия" является первой частью трилогии и прочитан был автором в течение четырех вечеров в литературном кружке "Зеленая лампа". Вещь эта охватывает период 1918—1919 гг., гетманщину и петлюровщину до появления в Киеве Красной Армии… Мелкие недочеты, отмеченные некоторыми, бледнеют перед несомненными достоинствами этого романа, являющегося первой попыткой создания великой эпопеи современности».
Самого Михаила Булгакова все же мучили сомнения насчет литературных достоинств романа. В дневниковой записи в ночь на 28 декабря 1924 года он зафиксировал их в дневнике: «Роман мне кажется то слабым, то очень сильным. Разобраться в своих ощущениях я уже больше не могу». А 5 января 1925 года записал: «Ужасно будет жаль, если я заблуждаюсь и «Белая гвардия» не сильная вещь».
Роман «Белая гвардия» первоначально был задуман Булгаковым как первая часть трилогии. Сюжет романа выглядит только как часть более общего замысла, и очевидно, что Булгаков первоначально хотел сделать сюжетную линию более длинной. Перепечатывавшая роман машинистка И.С. Раабен утверждала, что это произведение задумывалось Булгаковым как трилогия. Вторая часть романа должна была охватывать события 1919 года, а третья — 1920 года, в том числе и войну с поляками. В третьей части Мышлаевский перешел на сторону большевиков и служил в Красной армии. Доказательством того, что «Белая гвардия» задумывалась как трилогия служит и тот факт, что поэт Максимилиан Волошин, расставаясь в июле 1925 года с гостившим у него в Коктебеле Булгаковым, подарил ему свой сборник «Иверни», надписав: «Дорогой Михаил Афанасьевич, доведите до конца трилогию "Белой гвардии"».
Роман начали публиковать в журнале «Россия» в 1925 году, в № 4, 5 были напечатаны первые 13 глав. № 6 с продолжением романа так и не вышел, так как журнал прекратил свое существование. Впервые полностью роман был опубликован издательством Concorde в Париже: в 1927 году — первый том и в 1929 году — второй том (заново выправленные автором 12—20 главы) в парижской издательской фирме Е.А. Бреннера «Москва». По предположению исследователей, роман «Белая гвардия» дописывался уже после премьеры спектакля «Дни Турбиных» в 1926 году и создания «Бега» в 1928 году.
Дарственная надпись на экземпляре «Белой гвардии»: «Милой Лиле Ландсберг на память. Михаил Булгаков. Москва. 1-го февраля 1925 г.»