Во время Великой Отечественной войны возглавлял штабы армий и фронтов. После войны возглавлял штабы военных округов, был заместителем начальника Главного штаба Сухопутных войск. Талантливый и плодовитый военный мемуарист и аналитик.
Родился 28 марта (10 апреля) 1900 года в д. Бисириха Тезинской волости Кинешемского уезда Костромской губ. (в 1925 д. Бисириха вошла в состав г. Вичуга Ивановской обл.) в семье ткачей.
Закончил двуклассную начальную школу.
С 1913 по 1918 работал на фабрике «Товарищества мануфактур Ивана Коновалова с Сыном» сначала поверяльщиком пряжи, затем счетоводом.
В 1918 создал в Бисирихе культурно-просветительский кружок «Прогресс», который, кроме всего прочего, проводил работу, в дальнейшем названную «тимуровской» (помощь старым людям в заготовке дров, обработке огородов, борьба с картёжниками). Комсомолец с 1918 г.
В 1919 по путёвке комсомола поступил на командные курсы в Иваново-Вознесенске.
В 1920 воевал на Туркестанском и Южном фронте, «воевал в Заволжье и в Крыму против Врангеля» (Л. Сандалов). Командовал взводом и ротой, был адъютантом батальона. В 28-й стрелковой дивизии служил вместе с будущими военачальниками Н. Ф. Ватутиным и А. Н. Боголюбовым.
Июнь 1921—июнь 1923 — командир взвода 23-го стрелкового полка 8-й бригады. С июня 1923 — помощник командира роты 23-го стрелкового полка. С июля 1923 — командир роты 23-го стрелкового полка.
Август—октябрь 1923 — помощник начальника штаба по оперативной части 3-й Казанской дивизии. С октября 1923 — командир роты 9-го стрелкового полка. С ноября 1923 — помощник начальника по учебно-мобилизационной части отдела штаба 3-й дивизии.
В 1926 закончил Киевскую объединённую школу командиров им. С. С. Каменева.
С августа 1926 — помощник командира роты 84-го стрелкового полка. Октябрь 1926—октябрь 1927 — помощник командира батареи. Ноябрь 1927—январь 1929 — помощник командира 1-й роты 82-го стрелкового полка. Февраль 1929 — командир 4-й роты 83-го стрелкового полка. Февраль—ноябрь 1929 — командир 2-й роты 82-го стрелкового полка. С декабря 1929 — политрук, с апреля 1931 — начальник и политрук полковой школы 82-го стрелкового полка.
В 1934 закончил Военную академию имени М. В. Фрунзе.
С 1934 — начальник штаба 1-го механизированного полка. С августа 1935 — помощник начальника 1-го отделения 1-го отдела штаба Киевского военного округа.
1936—1937 — учёба в Военной академии Генерального штаба.
С августа 1937 — начальник и военный комиссар 1-го отдела штаба Белорусского военного округа. Сентябрь 1937—июль 1940 — начальник оперативного отдела штаба Белорусского военного округа. Подготовка и проведение в 1937 в Белоруссии крупнейших довоенных учений Красной Армии.
Сентябрь 1939 — участие в походе в Западную Белоруссию (в должности начальника оперативного отдела штаба Белорусского фронта).
Август 1940—июнь 1941 — начальник штаба 4-й армии Белорусского (Западного) особого военного округа.
Июнь—июль 1941 — начальник штаба 4-й армии Западного фронта.
8 июля—24 июля 1941 — временно исполняющий должность командующего 4-й армии Западного фронта. Под командованием Сандалова был остановлен отход 4-й армии, в районе Славгорода создан рубеж обороны, с которого осуществлялись чувствительные контрудары против армии Гудериана (мифическое «контрнаступление двадцати дивизий Тимошенко» в воображении Гудериана). 25 июля был образован Центральный фронт, штаб которого был создан на базе управления штаба 4-й армии. Сама 4-я армия была расформирована, войска переданы в состав 13-й армии Цетрального фронта.
Июль—август 1941 — начальник штаба Центрального фронта.
28 августа—13 октября 1941 — начальник оперативного отдела штаба Брянского фронта.
14 октября—28 ноября 1941 — начальник штаба Брянского фронта.
29 ноября 1941—сентябрь 1942 — начальник штаба 20-й армии Западного фронта. 29 ноября — 21 декабря 1941 — полковник Сандалов де факто командующий 20-й армией Западного фронта, ввиду отсутствия болевшего генерала Власова. На плечи Сандалова легла вся тяжесть одновременно и формирования армии, и организации её военных действий. Под фактическим руководством полковника Сандалова 20-я армия освободила Красную Поляну (самый близкий к Москве населённый пункт, захваченный немецкой армией), Солнечногорск, Волоколамск. Успех 20-й армии не остался незамеченным: 27 декабря 1941 г. Сандалов был удостоен генеральского звания.
4 августа—23 августа 1942 — участие 20-й армии в Погорело-Городищенской операции. За талантливое руководство боями командующий армии генерал Рейтер и начальник штаба генерал Сандалов были награждены орденом Ленина.
Сентябрь 1942—октябрь 1943 — начальник штаба Брянского фронта. 15 февраля 1943 — звание генерал-лейтенанта. Октябрь 1943 — награждён полководческим орденом Кутузова I степени.
Октябрь 1943—март 1945 — начальник штаба 2-го Прибалтийского фронта (сформированного на базе Брянского фронта). Август 1944 — звание генерал-полковника.
Март-май 1945 — начальник штаба 4-го Украинского фронта.
1945—1946 — начальник штаба Прикарпатского военного округа.
1946—1947 — заместитель начальника Главного штаба Сухопутных войск.
1947—1953 — начальник штаба — 1-й заместитель командующего войсками Московского военного округа.
1951 — попал в авиакатастрофу, перенёс несколько хирургических операций. Стал инвалидом, потеряв способность передвигаться.
1953—1955 — в распоряжении министра обороны СССР.
С сентября 1955 — в запасе по болезни.
1960—1980-е — пишет военные мемуары, очерки и статьи.
Умер 23 октября 1987. Похоронен в Москве на Кунцевском кладбище.
Орден Суворова 1-й степени, орден Кутузова 1-й степени, 3 ордена Ленина, 4 ордена Красного Знамени, орден Красной Звезды, орден Октябрьской Революции, медали, 3 иностранных ордена.