День защитника Отечества был установлен Федеральным законом «О днях воинской славы и памятных датах России», принятым Государственной думой и подписанным президентом РФ Б. Ельциным 13 марта 1995 года.
Принято было считать, что 23 февраля 1918 года отряды Красной армии одержали свои первые победы под Псковом и Нарвой над регулярными войсками кайзеровской Германии. Эти первые победы и стали «днём рождения Красной Армии». Однако, согласно архивным данным, к вечеру 23 февраля 1918 года германская армия находилась в 55 км от Пскова и 170 км от Нарвы. Никаких боёв в этот день ни в германских, ни в советских архивах не зафиксировано.
День Красной армии и флота был установлен постановлением Президиума ВЦИК РСФСР от 18 января 1922 года — это дата дня опубликования декрета о создании Красной армии.
В приказе Реввоенсовета от 5 февраля 1923 года, подписанном Львом Троцким, событие, послужившее поводом для праздника, определяется так: «23 февраля 1918 года под напором врагов рабочее и крестьянское правительство провозгласило необходимость создания вооруженной силы». В том же году в журнале «Военная мысль и революция» появилось утверждение, что 23 февраля была якобы сформирована первая красноармейская часть, принимавшая участие в боях на северо-западном направлении.
В следующем году в журнале «Военный вестник» появляется фотокопия декрета Ленина об организации Красной армии от 15 (28) января 1918 года с ложной датировкой его 23 февраля. Историки это объясняют тем, что сформировавшемуся к тому времени партийно-бюрократическому аппарату было «важно и выгодно скрыть позор 1918 года» — подписание 3 марта 1918 года Брестского мира, принятого целиком на условиях Германии. В 1933 году «красный командир» Климент Ворошилов на торжественном заседании, посвящённом 15-летней годовщине РККА, признавал: «Кстати сказать, приурочивание празднества годовщины РККА к 23 февраля носит довольно случайный и трудно объяснимый характер и не совпадает с историческими датами...».
Трактовка событий февраля 1918 года как «победы под Псковом и Нарвой» была предложена лично Иосифом Сталиным в 1938 году. Впервые она появляется в материале, опубликованном в газете «Известия» 16 февраля 1938 года.
Ещё более решительная формулировка была дана Сталиным в приказе от 23 февраля 1942 года: «Молодые отряды Красной армии, впервые вступившие в войну, наголову разбили немецких захватчиков под Псковом и Нарвой 23 февраля 1918 года. Именно поэтому день 23 февраля 1918 года был объявлен днём рождения Красной армии». Эта версия многие годы поддерживалась государственной пропагандой в СССР.
С 1946 до 1993 годы праздник носил название День Советской Армии и Военно-Морского флота. 23 февраля ежегодно отмечался в СССР как всенародный праздник.
С 2002 года по решению Государственной думы Федерального собрания РФ 23 февраля в России является нерабочим днём, а эта дата отмечается как «День защитника Отечества» в соответствии с Федеральным законом РФ «О днях воинской славы (победных днях) России». 24 марта 2006 года Госдума постановила исключить из официального описания праздника в законе слова «День победы Красной Армии над кайзеровскими войсками Германии (1918 год)».
Для некоторых людей праздник 23 февраля остался днем мужчин, которые служат в армии или в каких-либо силовых структурах. Тем не менее большинство граждан России и стран бывшего СССР склонны рассматривать День защитника Отечества не столько как годовщину победы или День Рождения Красной Армии, сколько как День настоящих мужчин, защитников в самом широком смысле этого слова. В настоящее время вместе с Россией сегодняшний праздник традиционно отмечают в Беларуси и Кыргызстане.