Образование получил в гимназии Московского университета. В 1761 году Булгаков был записан на службу в коллегию иностранных дел. Ездил курьером в Варшаву с известием о кончине императрицы Елизаветы и вступлении на престол Петра III, в Вену — с известием о вступлении на престол Екатерины II.
Через два года Булгаков назначен в Варшаву, где служил при четырех послах сначала секретарем, а потом советником посольства Репнина, отправленного в Константинополь для заключения мира, и принимал деятельное участие в переговорах. В 1777 году Булгаков в качестве секретаря сопровождал того же Репнина с войсками в Тешен, где собрался конгресс по делам Баварии. Затем вместе с Потемкиным Булгаков произвел разграничение Новороссийской губернии с польской Украиной, акт которого подписал 5 января 1781 года.
В мае 1781 года Екатерина II назначила Булгакова на весьма трудный дипломатический пост чрезвычайного посланника и полномочного министра при Порте. Отношения между Россией и Османской империей были в то время весьма сложными, и Булгакову предстояло не только развивать и укреплять успехи, достигнутые Россией по Кючук-Кайнарджийскому миру, но и старатьс оттянуть как можно дальше надвигающуюся новую войну. Главной задачей Булгакова было ослабить то впечатление, которое должно было произвести на турок подготовленное уже присоединение Крыма к России. В 1783 году он заключил с Портой торговый трактат. Летом того же года крымский хан Шагин-Гирей передал свои владения императрице Екатерине II. Летом 1787 года Екатерина II была в Крыму, куда приезжал и Булгаков; здесь он получил инструкции относительного будущего образа действий в его Константинополе.
По возвращении Булгакова в Константинополь Порта отказалась признать окончательное присоединение Крыма к России и стала требовать пересмотра всех трактатов с Россией. Булгаков решительно отказался принять эти предложения и в тот же день объявлен был мусафиром, или гостем Блистательной Порты, и отведен в Семибашенный замок. Хотя надзор за Булгаковым был строгий, но он сумел достать секретный план турецких военных операций на море и сообщить его русскому правительству.
В октябре 1789 года, уже при султане Селиме III, Булгаков был отпущен из Константинополя. Екатерина II наградила его деньгами и поместьями в Белоруссии и назначила его посланником в Варшаву, где он пробыл 4 года. Павел I, по вступлении на престол, назначил Булгакова гражданским губернатором Виленской и Гродненской губерний.
Булгаков был большим любителем литературы. Еще будучи студентом, он помещал свои переводы в «Полезном Увеселении» (1760 — 61). Во время своего заключения в Константинополе Булгаков занимался переводом 27-томного «Всемирного путешественника» аббата де-ла-Порта. Перевод выдержал два издания. Три издания имел перевод его поэмы «Влюбленный Роланд». Переписка его с Потемкиным напечатана в «Русском Вестнике» (1814, III).
Булгаков женат не был, но от француженки Екатерины Эмбер (по-русски называлась Екатерина Любимовна (ум.1809); позднее жила в Москве и была замужем за доктором Шумлянским, от которого имела 2 дочерей — Любовь и Ольгу) имел 2 сыновей, очень им любимых, людей редких достоинств, которым он завещал всё своё имение: