Степан Зайцев родился 10 мая 1918 года в деревне Савостино (ныне — Духовщинский район Смоленской области). Окончил семь классов школы, после чего работал заведующим избой-читальней, затем проводником, ревизором на Белорусской железной дороге. В сентябре 1938 года Зайцев был призван на службу в Рабоче-крестьянскую Красную Армию. Окончил школу младших командиров. С первого дня Великой Отечественной войны — на её фронтах. В 1942 году Зайцев окончил Воронежское пехотное училище. Участвовал в Сталинградской и Курской битвах, освобождении Харькова. Несколько раз был ранен. К июню 1944 года гвардии старший лейтенант Степан Зайцев командовал батальоном 196-го гвардейского стрелкового полка 67-й гвардейской стрелковой дивизии 6-й гвардейской армии 1-го Прибалтийского фронта. Отличился во время Белорусской операции.