Родился 2 октября 1926 года в Свердловске. Отец — Виктор Павлович, работник торговли. Мать по национальности цыганка.
Прошёл Великую Отечественную войну: в 14 лет, по окончании восьмилетки, поступил в Соловецкую школу юнг. По её окончании служил рулевым эсминца «Карл Либкнехт» на Северном флоте, участвовал в проводке арктических конвоев.
Виталий Леонов был вахтенным рулевым утром 22 апреля 1945 года, когда «Карл Либкнехт» вступил в бой с атаковавшей его подводной лодкой, который, как считалось в советской историографии, завершился потоплением U-286.
Стать артистом мечтал с детства. По воспоминаниям его товарищей, реализовать мечту помог случай: во время увольнительной на танцах Виталий познакомился с девушкой. Подруга представила его своей матери, с которой юноша в лирических выражениях поделился своей мечтой. Женщина, которая оказалась женой члена Военного совета флота, обратила внимание на его талант. В результате Леонов был направлен служить в Театр Северного флота приказом командующего флота, адмирала Головко. По другой версии, он поступил в студию Драматического театра Северного флота в 1947 году по рекомендации своего капитана. Закончив обучение в 1949 году, вступил в труппу этого театра.
Демобилизовался в 1950 году в звании старшины II статьи.
В 1950-е оставил театр (по одним данным — потерял голос, по другим — женился и сменил профессию, чтобы обеспечить семью). Работал штурманом и помощником капитана на рыболовных и торговых судах.
В 1965 году вернулся в театр — работал в Самаркандском русском драматическом театре, затем в Ташкентском русском драматическом театре имени Горького.
С 1968 года начал сниматься в кино. Внешность Леонова не располагала к ролям первого плана, он играл эпизодических персонажей: пьяниц, работяг, проходимцев, деревенских мужичков, разбойников, солдат — и советских, и немецких. По оценке Алексея Тремасова, несмотря на отсутствие крупных ролей, Леонов проявил высокое актёрское мастерство, «наделяя своих персонажей предельной жизненной достоверностью, хорошим добрым юмором».
Леонов также был поэтом и бардом, значительная часть его стихов и песен посвящена юнгам Северного флота.
Умер 29 марта 1993 года в Москве, похоронен на Востряковском кладбище Москвы.