Родился 1 апреля 1926 года в г. Баку (Азербайджан). Русский. В 1943 году окончил 9 классов в Архангельске. Работал там же контролёром таможни. С августа 1943 года служил в пограничных войсках. В 1945 году окончил Орджоникидзевское военное училище НКВД, в 1954 Военный институт МВД. Начальник пограничного отряда Тихоокеанского пограничного округа полковник Леонов 15 марта 1969 года в боестолкновении с группой нарушителей Государственной границы СССР на р. Уссури в районе г. Дальнереченск (Приморский край), будучи дважды раненным, поднял бойцов отряда в контратаку и отстоял рубеж. Погиб в этом бою. Награжден орденом Ленина. Похоронен в г. Дальнереченск. Почётный гражданин Дальнереченского района. Одна из пограничных застав названа именем Героя.
Звание Героя Советского Союза присвоено 21 марта 1969 года.