Mihail Bulgakov rođen je 3. (15) maja 1891, u Kijevu, od oca Afanasija Ivanoviča Bulgakova (1859–1907), profesora Kijevske duhovne akademije, i majke Varvare Mihajlovne (1869–1922). Bio je prvo dete u porodici, uslediće još šestoro. Godine 1909. završava Prvu kijevsku gimnaziju i upisuje se na Medicinski fakultet Kijevskog univerziteta.
U prvi brak stupio je godine 1913, sa Tatjanom Lapom (1892–1982). Diplomirao je 31. oktobra 1916. Prvo radno mesto bilo mu je u selu Nikoljskom u Smoljenskoj guberniji, zatim je radio kao lekar u Vjazmi. Tokom Prvog svetskog rata Bulgakov radi kao lekar – najpre u takozvanoj prifrontovskoj zoni, a kasnije u rezervi.
U decembru 1917. prvi put dolazi u Moskvu i boravi kod svog ujaka, poznatog moskovskog lekara N. M. Pokrovskog (koji će biti prototip profesora Preobraženskog iz pripovetke „Pseće srce“). U proleće 1918. vraća se u Kijev, gde započinje svoju privatnu praksu kao lekar venerolog.
U vreme Građanskog rata, u februaru 1919, Bulgakov je mobilisan kao vojni lekar, da bi se sredinom oktobra vratio u Kijev i tokom uličnih borbi prišao (nema podataka da li dobrovoljno ili zato što je zarobljen) Oružanim snagama Juga Rusije i postao vojni lekar Trećeg kozačkog puka. Izvesno vreme provodi u Čečeniji i na Vladikavkazu sa kozačkim jedinicama.
Vladikavkasko pozorište u leto i jesen 1920. stavlja na repertoar prve njegove komade: Samoodbrana i Braća Turbin. U periodu od 1922–1926. Bulgakov u Sireni objavljuje više od 120 reportaža, eseja i feljtona. Piše prozna dela Đavolijada, Kobna jaja, Pseće srce, i drame Zojkin stan, Purpurno ostrvo, Beg/Trka, Adam i Eva, Blaženstvo, Ivan Vasiljevič, Aleksandar Puškin i druge. Nijednoj drami nije odobreno izvođenje.
Godine 1923. pisac započinje rad na romanu Bela garda. Postaje član Sveruskog saveza pisaca. Naredne, 1924. godine, upoznaje Ljubov Jevgenijevnu Belozersku (1898–1987), koja se upravo vratila iz inostranstva i koja mu uskoro postaje žena.
Veoma je značajno da se godine 1926. u Moskovskom umetničkom akademskom teatru (MHAT) s velikim uspehom daje njegova pozorišna predstava Dani Turbinih. Dozvola za njeno izvođenje, najpre izdata na godinu dana, nekoliko puta je produžavana, jer se dopala Staljinu. Istovremeno, u sovjetskoj štampi traje intenzivna, oštra kritika stvaralaštva Mihaila Bulgakova.
Bulgakov i njegova druga supruga Ljubov Jevgenjevna godine 1928. odlaze na Kavkaz i obilaze Tiflis (Tbilisi), Batumi, Zeleni rt, Vladikavkaz… Iste godine beleži začetke romana kome će davati niz naslova sve do konačnog: Majstor i Margarita. Na tom romanu, koji smatra zavetnim delom na zalasku života, radiće oko dvanaest godina. Posle mnogih varijanata (osam redakcija), završiće ga 1939, ali ne sasvim: do same smrti diktiraće izmene i dopune svojoj trećoj supruzi – Jeleni Sergejevnoj Šilovskoj, koju je upoznao 1929. i koja će, predano radeći na ispravkama, romanu dati konačan oblik, ali na objavljivanje će ovaj roman čekati čitavih 26 godina.
Godine 1929. skidaju se s repertoara svi njegovi komadi, te i naredne godine prestaje objavljivanje Bulgakovljevih dela. Upućuje pismo i Vladi SSSR, s molbom da odluči o njegovoj sudbini – ili da mu dozvoli da emigrira, ili da mu da mogućnost za rad u MHAT-u. Uskoro mu telefonira Staljin, savetujući da napiše molbu da ga prime u MHAT. Od 1930. do 1936. radi u MHAT-u kao asistent reditelja.
Godine 1936, posle članka u Pravdi, Bulgakov je napustio MHAT i počeo da radi u Boljšom teatru kao libretista i prevodilac. Tokom 1937. radio je na libretu Minjin i Požarski i Petar Prvi.
Godine 1939. pisac radi na libretu Rašel, kao i na drami o Staljinu (Batumi). Dramu je odobrio sâm Staljin, ali, uprkos očekivanjima autora, bila je zabranjena i za štampu i za izvođenje. U aprilu i maju pisac čita prijateljima roman Majstor i Margarita u celosti. U septembru mu se zdravlje dramatično pogoršava, gubi vid, lekari konstatuju hipertoničnu nefrosklerozu, čije znake je i sam već prepoznavao. Počinje da diktira supruzi Jeleni poslednje izmene za roman Majstor i Margarita.
Desetog marta 1940. prestaje da kuca srce Mihaila Afanasjeviča Bulgakova; sledećeg dana održana je komemoracija u zdanju Saveza sovjetskih pisaca. Pre komemoracije moskovski skulptor S. D. Merkurov sa lica Bulgakova skida posmrtnu masku. Bulgakov je sahranjen na Novodevičjem groblju. Na njegovom grobu, prema želji njegove supruge J. S. Bulgakove, postavljen je kamen, nazvan „golgota“, koji je ranije ležao na grobu N. V. Gogolja.