Изначально планировалось учредить праздник 28 января – в этот день в 1918 году была создана Рабоче-крестьянская Красная армия. Но в 1919 году, когда хотели учредить праздник в честь годовщины создания Красной армии, к этой дате не успели подготовить все необходимое. В итоге была выбрана другая дата – 23 февраля. Этот день также был связан с армией и имел красивое название – День красного подарка, который был установлен с целью помощи сражающимся красноармейцам. В 1921-22 годах День Красной армии не отмечался, а с 1922 года его начали отмечать ежегодно.
В 1938 году появилась новая версия. Дата 23 февраля была связана со сражением под Нарвой и Псковом в 1918 году, когда красноармейцы разбили немецких оккупантов. В 1951 году была выдвинута новая версия: 23 февраля 1919 года связали с «памятным днем мобилизации трудящихся на защиту социалистического Отечества, массового вступления рабочих в Красную Армию, широкого формирования первых отрядов и частей новой армии». На самом деле любая версия имеет право на существование, суть праздника от этого не меняется.
В 1946 году название праздника было изменено на День Советской армии, а в 1949 году появилось уточнение и праздник стал называться День Советской армии и Военно-морского флота. Современно название праздник получил в 1993 году и считается также Днем воинской славы России. В 2002 году этот день стал не только праздничным, но и выходным.