Родился в Дагестане, из семьи железнодорожного радиотелеграфиста. С 1906 года семья жила в Владикавказе. По окончании реального училища уехал в Санкт-Петербург и поступил в Горный институт. В 1916 году призван в российскую армию, в 1917 году окончил школу прапорщиков в Оренбурге. Принимал активное участие в революционных событиях 1917 года, был избран председателем полкового комитета.
В 1918 году вступил в Красную Армию. Участвовал в Гражданской войне. Был командиром дорожно-мостовой роты, бригадным инженером, дивизионным инженером. Воевал на Южном фронте против войск генерала А. И. Деникина, на Западном фронте против Польской армии, на Кавказском фронте против армии меньшевистской Грузии. Член КПСС с 1919 года.
С 1921 года продолжал службу в инженерных войсках. Командовал сапёрным батальоном, был начальником связи стрелкового корпуса. В 1924 году направлен на учёбу. Окончил инженерный факультет Военно-технической академии РККА в 1929 году, оставлен для окончания адъюнктуры при академии. С июля 1932 года преподавал в этой академии, вскоре стал там же начальником факультета инженерного вооружения. Одним из первых в СССР стал заниматься вопросами тактики действий инженерных войск и полевой фортификации, развивал передовые идеи русской дореволюционной военной мысли. Автор трудов «Служба заграждений» (1931), «Заграждения (устройство, применение, преодоление)» (1932), получивших широкое признание и использовавшихся в качестве пособий в военных училищах и академиях. С июля 1936 года — начальник Объединенной Краснознаменной военно-инженерной школы имени Коминтерна в Ленинграде, которая в 1937 году была переформирована в Ленинградское военно-инженерное училище. В конце 1939 года значительная часть преподавательского и курсантского состава училища, в том числе и его начальник военинженер 1 ранга Воробьёв были направлены на фронт советско-финской войны. Генерал-майор инженерных войск (4.06.1940).
С июля 1940 года — генерал-инспектор инженерных войск РККА.
В действующей армии на фронтах Великой Отечественной войны — с июня 1941 года. Сначала был назначен начальником инженерного управления Западного фронта, в июле эта должность была переименована и Воробьёв стал начальником инженерных войск этого фронта. Одновременно с декабря 1941 года являлся командующим 1-й сапёрной армией. Участвовал в оборонительном Смоленском сражении, в других операциях первого, самого кровопролитного и неудачного, этапа войны. В битве за Москву был одним из руководителей строительства оборонительных рубежей и создания системы противотанковых заграждений на ближних подступах к столице, которые сыграли большую роль в срыве немецкого наступления. Юго-Западного, 3-го Украинского, 2-го Украинского фронтов.
С апреля 1942 года и до конца войны — начальник инженерных войск РККА. Кроме постоянной работы по формированию частей инженерных войск и насыщению действующей армии новой инженерной техникой, части лично привлекался на наиболее ответственные участки фронта для решения сложных задач. В 1942 году участвовал в Сталинградской битве, возглавляя строительство оборонительных рубежей под Сталинградом. При прорыве блокады Ленинграда в январе 1943 года координировал действия инженерных войск Ленинградского и Волховского фронтов. Весной и летом 1943 года лично руководил строительством оборонительных рубежей на обеих фасах Курской дуги, на которых в ходе Курской битвы были перемолоты обе ударные группировки врага. В ходе массового наступления советских войск во второй половине войны внёс значительный вклад в инженерное обеспечение форсирования крупных водных преград, особенно в ходе битвы за Днепр. Быстро вырос в воинских званиях: 29 марта 1943 года стал генерал-лейтенантом инженерных войск, 16 сентября 1943 года стал генерал-полковником инженерных войск. Уже 21 февраля 1944 года стал маршалом инженерных войск, став первым военачальником, удостоенным этого высокого воинского звания.
После войны в течение 7 лет продолжал возглавлять инженерные войска РККА. В апреле 1946 года — должность Воробьёва стала именоваться «начальник инженерных войск Сухопутных войск». Однако затем по неясным причинам он был понижен в должности, и с 1952 года был начальником инженерных войск Киевского военного округа. С 1954 года — заместитель начальника строительства и расквартирования Министерства обороны СССР. С 1956 года и до конца жизни — помощник командующего войсками Прибалтийского военного округа по строительству и расквартированию.
Скончался после тяжелой болезни в Москве. Похоронен на Новодевичьем кладбище.