1894年10月24日,宋慶探知日軍向義州搬運糧食、槍彈及20門大炮,準備向九連城進攻。他反複研究九連城的防守部署,得出如下結論:“虎山位於鴨綠江、璦河之間,若能堅守此山,憑高臨下,便可有效地遏製日軍的進攻”。因此,他率聶士成、宋得勝、馬金敘諸將,再次查勘虎山形勢。並對部下說:“誰能守住虎山,重賞!”馬金敘自告奮勇,願守虎山。宋慶又命令聶士成率精銳駐紮山邊,宋得勝繼其後為策應,加強了虎山陣地的防守。宋慶的估計是正確的,日軍向九連城清軍防線的進攻,正是從搶占虎山高地開始,進攻的矛頭就是虎山陣地。
10月24日,日軍按著預先計劃好的作戰部署,開始向清軍鴨綠江防線發動進攻。由於朝鮮水口鎮與鼓樓子附近的鴨綠江麵水位較淺,容易徒涉,因此,日軍首先選擇九連城上遊的清軍左翼防線倭恒額齊字練軍防守的安平河口進攻,以迷惑和牽製清軍。
10月23日,山縣有朋命令駐紮水口鎮的步兵第十八聯隊長佐藤正大佐,於次日午前率軍徒步涉水渡江。渡江後,配合由九連城正麵進攻的第三師團,向九連城北栗子園方向發動進攻。
24日午前11時,佐藤大佐遵令指揮部隊開始由鼓樓子對岸水口鎮附近渡江。先頭部隊渡至中流時,被對岸清軍發現,立即開槍狙擊。布置在江對岸水口鎮的日軍炮兵急忙向清軍開炮,掩護步兵過江。
駐守鼓樓子和安平河口的清軍炮隊也開炮還擊。雙方進行了猛烈的炮戰。
11時47分,清軍出動騎兵二三百騎向渡過鴨綠江右岸的日軍發起衝擊,企圖將日軍擊退。但在日軍反攻下,騎兵敗退。
戰至午後1時30分左右,駐守鼓樓子、安平河口各堡壘的清軍,見渡過鴨綠江的日軍增多,紛紛敗退。日軍占據安平河口。倭恒額、依克唐阿率軍向北退往寬甸。清軍鴨綠江左翼防線,就這樣輕易地被日軍攻破了。
日軍占領安平河口後,進攻九連城的日軍尚未發起進攻。佐藤支隊害怕孤軍深入,被清軍包圍,隻好在安平河口露營以待後續部隊。
當佐藤支隊由水口鎮渡江向安平河口發動進攻時,駐義州的日軍大隊正積極籌備架橋材料,準備於24日晚乘黑夜在義州上流虎山對麵的江麵上,架設浮橋,以便渡江進攻駐守虎山的清軍。
鴨綠江下遊在九連城與義州之間,由泥沙衝積形成的沙洲,將江水截成三個支流。東西兩側支流約寬60米,江流較淺,可以徒步涉水。但中流寬達150餘米,江水很深。最深處可達3米,稱中江。在中江西側有一南北狹長的沙洲,稱中江台。
日軍決定在中江台北麵的有利地形,架設浮橋渡江。
24日晚9時,日軍先派一個大隊的步兵為掩護,挑選一名善泅水的工兵,泅過中江江麵,到對岸係一長繩作為搭架浮橋的橋索。由於夜深天寒,江水凜冽,該士兵泅至中流,手腳麻木被溺斃。日軍又派出兩名士卒,終於遊到對岸,完成係繩任務。於是工兵開始架橋,一夜之間,日軍在虎山對麵的中江江麵和東側支流架起兩座浮橋,駐守江對麵的清軍竟毫無察覺。
在浮橋尚未造成之前,日軍即已派出第六聯隊於午夜11時30分提前乘船渡江,埋伏在虎山東側。浮橋建成後,由第五旅團長大迫尚敏率一部兵力為右翼,於淩晨4時由橋上渡江與第六聯隊會合,向右迂回搶占虎山東方高地;第三師團長桂太郎率師團本隊於拂曉6時越過浮橋,從正麵向虎山陣地發起進攻。同時,義州一側高地上的日軍炮兵,也以排炮向對岸虎山清軍陣地猛烈射擊。
清軍對於日軍一夜之間架起浮橋雖毫無所知,但對日軍的突然進攻似早有準備,並未出現張皇、狼狽之狀。特別是防守虎山的馬金敘及聶士成所部蘆台兵鎮定自若,善於防戰,並從栗子園後方營地陸續派出援兵至前麵堡壘,其射擊頗為猛烈難擋。