31 марта в 10.00, после 100-минутной артподготовки и авиаудара по переднему краю обороны противника, войска 67-й армии перешли в наступление. Прорвав передний край обороны противника, войска продвинулись в ее глубину на 4 км. Были освобождены населенные пункты: Опытная станция Стремутка, Льн, Дьяково, Тархово 2-е, Климово, Тархово 1-е, Анисимово, Кокуево, Орлуха, Бабино, Станки, Зарезница, Волки, Погорелка.
326-я и 53-я гвардейская стрелковые дивизии 98-го корпуса встретили сильное огневое сопротивление на правом фланге. 326-я дивизия в течение суток успеха не имела. 224-я дивизия была сосредоточена в резерве корпуса.
110-й стрелковый корпус наступал силами 46-й и 56-й дивизий. В первой цепи стрелковых полков действовали штурмовые батальоны. Стремительной атакой, прижимаясь к разрывам снарядов своей артиллерии на 200 шагов, они преодолели тактическую глубину обороны противника.
Советские солдаты в атаке
Еще в ходе артподготовки штурмовые батальоны ворвались в первую траншею, к моменту ее окончания достигли второй траншеи. В дальнейшем батальоны перерезали шоссе Псков – Остров.
85-я, 168-я и 291-я дивизии 123-го стрелкового корпуса находились во втором эшелоне 67-й армии.
Боевые действия на участке 98-го ск
326-я сд вела наступление на правом фланге корпуса. Ее 1097-й полк вел бой в 500 метрах от д. Крапивинка. Братский 1099-й полк, усиленный 4-й батареей 768-го сап, к полудню освободил д. Селюгина. В 16.00 он был отброшен немецкой контратакой и вел бой в 1,2 км от деревни. Аналогично развивались события на участке 1101-го полка, ворвавшись в д. Гаврилово, он не смог закрепиться и в 15.00 был выбит контратакой противника численностью до батальона (5, л. 8).
Донесение 215-й пд сообщало, что наступление советских войск началось в 9.20 после одночасовой артподготовки, поддержанной огнем реактивных систем и бомбоштурмовыми ударами авиации. Передовые отряды наступали в глубоко эшелонированном строю, в шести различных местах одновременно. Удар принял на себя 380-й гп.