С рассветом 16 октября японцы открыли сильный артиллерийский и пулеметный огонь по Новгородской сопке, занятой тремя батальонами 22-й дивизии, которые вынуждены были покинуть сопку и переправиться на правый берег реки. Заняв сопку, японцы начали поражать огнем расположенный у Сахэяна отряд Новикова (три полка 22-й дивизии), начавшего в 10 часов отход на Удьятунь. Японцы, переправившись через Шахэ, заняли Сахэян, но во второй половине дня контратакой отряда Новикова из Удьятунь были выбиты. Придавая большое значение Новгородской сопке, фланкировавшей долину Шахэ в обе стороны, а также сопке, находящейся западнее Новгородской (названной впоследствии Путиловской), Куропаткин решил удержать их за собой.
Обе сопки расположены на возвышенности, спускающейся к Шахэ у Сахэяна крутым обрывом. Река Шахэ при незначительной ширине и глубине была вполне проходима. Сопки эти были захвачены были сборным японским отрядом генерала Ямада в составе 5 батальонов и 30 орудий.
Между тем для поддержки 10-го корпуса из резерва была направлена на Шанланцзу и Сахэпу бригада Путилова (из состава 2-гоСибирского корпуса), получившая задание поддержать также, если понадобится, и 22-ю дивизию в ее борьбе за овладение Новгородской сопкой.
Путилов, прибывший с бригадой в Удьятунь, совместно с командиром 22-й дивизии Новиковым составили план атаки сопки. Три полка Новикова должны наступать с фронта со стороны Удьятунь, а бригада Путилова переходила в наступление для охвата сопок с запада. Кроме того, командиром 1-го Сибирского корпуса был направлен 36-й полк со стороны Сахэтунь. Впоследствии для атаки сопок было выделено еще два полка. Общее руководство действиями 25 батальонов, предназначенных для атаки сопок, поручено было командиру 1-го армейского корпуса Мейендорфу.
Начав артиллерийскую подготовку в 15 часов, русские войска в 17 часов перешли в наступление под сильным артиллерийским, пулеметным и ружейным огнем противника.
К 20 часам, когда уже стемнело, наступающие части перемешались и в беспорядке рассыпались по близлежащим сопкам. Все три командира полка 22-й дивизии выбыли из строя. Кроме множества убитых и раненых, большое число солдат было отвлечено для переноски раненых, и командному составу с трудом удавалось восстанавливать порядок.
В то же время 36-й полк, наступавший с востока, начал обходить сопку с юга и ворвался в передовые окопы японцев, отбросив последних штыковым ударом, подвергаясь в сумерках ружейному огню своих войск, наступавших правее. Одновременно с этим 36-й полк начал нести большие потери от огня противника, который с юга двигался на поддержку защитников сопки и вынужден был отступить на Сахэтунь.
С запада наступал Путилов, имея один полк развернутым, а другой в резерве. Переправившись через реку, Путилов уже в темноте двинул свои войска к сопке, что западнее Новгородской. Под сильным огнем войска Путилова ворвались в передовые окопы, и к полуночи после упорного штыкового боя сопка, защищаемая резервным японским полком, находилась в руках русских. Тем временем продолжалась атака 22-й дивизии на Новгородскую сопку. Получив приказание овладеть этой сопкой в течение ночи, Новиков в ночь на 17 октября занял исходное положение непосредственно у сопки и, направив две роты без выстрела на вершину ее, повел остальные войска вслед за ними. После короткой штыковой схватки эта сопка также была занята русскими войсками. Атака сопок стоила русским свыше 3000 человек убитыми и ранеными.
Защитники сопок были почти все перебиты. Русские взяли здесь 14 орудий и 1 пулемет.
Атака Путиловской и Новгородской сопок, хотя и проведенная войсками, не приученными к ночным действиям, и без взаимной связи между колоннами, закончилась удачно. Слишком выдвинутый вперед отряд Ямада лишен был нужной поддержки, очевидно, из-за отсутствия связи.
17 октября японцы очистили деревню Шаланцза, которую заняли части 10-го армейского корпуса, а на следующий день части 5-й дивизии и переброшенной сюда бригады Умесавы пытались атаковать Путиловскую сопку для создания более прочного положения выдвинутой к Сахэпу 3-й дивизии, но атака эта оказалась безуспешной, и японцы вынуждены были очистить Сахэпу.
Этим закончилась многодневная операция на реке Шахэ. Победа русских у Путиловской и Новгородской сопок имела местное значение и не оказала влияния на общий ход сражения на Шахэ. Противники остановились на занимаемых рубежах и приступили к основательному укреплению позиций в непосредственной близости друг к другу и оставались на них до начала Мукденской операции. Только изредка возникавшая между противниками перестрелка в результате деятельности разведывательных партий нарушала спокойствие так называемого «шахэйского сидения».