22 июня 1941 года Германия напала на Советский Союз. Уже 25 июня Витебск подвергся массированным авианалетам. В начале июля началась эвакуация промышленных предприятий — в тыл отправили 2,5 тыс. вагонов с оборудованием и готовой продукцией. Одновременно шло формирование истребительных батальонов и народного ополчения. После взятия Минска 28 июня немецкие войска устремились на восток. Витебск был стратегическим пунктом для последующего рывка на Смоленск и Москву. Советское командование разгадало замысел противника и приняло меры для создания обороны по Западной Двине и Днепру. В экстренном порядке сюда передислоцировались 19-я, 2-я, 21-я и 22-я армии. 22-я армия заняла оборону севернее Витебска, 19-я — южнее, прикрывая направления на Смоленск.
5 июля передовые немецкие части встретили ожесточенное сопротивление и были остановлены на подступах к городу. Утром 6 июля начался танковый контрудар 20-й армии Западного фронта. 5-й и 7-й механизированные корпуса получили задачу отбросить противника на 140-150 км в сторону Лепеля. С обеих сторон в сражении участвовало около 2000 танков и самоходных установок. Бои шли на реке Черногостница, в районе Бешенковичей, Сенно и на Лепельском направлении. В Сенно советские войска отбивали до 15 атак в день, город несколько раз переходил из рук в руки. Для действий в воздухе задействовали 23-ю смешанную авиадивизию, однако преимущество оставалось за немецкой авиацией. 10 июля командование отдало приказ отойти. Несмотря на это, контрудар отбросил противника на 40 км и задержал его на несколько дней, оттянув на себя значительные резервы. Это замедлило темп немецкого наступления и дало Красной армии время для перегруппировки.
Лепельский контрудар и его последствия
Основную оборону Витебска осуществляли 153-я стрелковая и 220-я мотострелковая дивизии. Значительную поддержку оказало народное ополчение. Из рабочих фабрик, заводов и молодежи сформировали четыре батальона: Октябрьского, Железнодорожного, Первомайского районов и Осоавиахима. Общая численность ополченцев составила около 2000 человек. 9 июля 1-я рота Первомайского батальона совместно с бойцами 153-й дивизии обороняла участок левого берега Западной Двины от современного парка Партизанской славы имени М.Ф. Шмырева до моста Блохина. Им удалось отбить три попытки немецких подразделений форсировать реку. Батальон Железнодорожного района вел бой в окрестностях города. Батальон Осоавиахима 9 июля и в ночь на 10 июля удерживал левый берег Двины в районе парка имени Советской Армии. На рассвете 10 июля врагу все же удалось форсировать Западную Двину, однако осоавиахимовцы уничтожили около 200 гитлеровцев. К концу дня части Красной армии и оставшиеся ополченцы вынуждены отойти. Оставшиеся в живых бойцы народного ополчения влились в ряды Красной армии, партизанские отряды и подпольные группы.
Немецкие войска оккупировали Витебск 11 июля 1941 года. Оккупация продолжалась 1083 дня.
Оборонительные бои за Витебск сорвали планы немецкого командования по быстрому захвату плацдармов на Западной Двине и позволили советским войскам выиграть время для организации обороны на смоленско-московском направлении. Задержка немецкого наступления способствовала срыву блицкрига. Оборона города стала одним из первых значительных сражений, где советские войска и ополчение оказали стойкое сопротивление превосходящему противнику. Память о событиях июля 1941 года сохраняется в названиях городских улиц, парков и мемориалах.