六月二十三日,聂士成派总兵
程允和携于光炘等赴汉城“察看地形,图其要隘”,以备万一。
七月二十五日,日本海军在牙山湾以不宣而战的卑鄙手段,偷袭中国军舰,挑起
丰岛海战。同时,派混成旅团由汉城南下进攻牙山清军。
二十九日凌晨,由正面进攻的日军先头部队,在第十二中队长松崎直巨大尉指挥下,越过安城渡,涉过水田,到达佳龙里村。于光炘率埋伏在附近的清军,突然发起攻击,当场将松崎大尉击毙。日军猝然遇伏,惊慌失措,进退失据,拥塞路中,被击毙击伤多人。黑夜中,日军不知虚实,仓皇败退,道路狭窄,互相践踏。退至安城渡桥上,“桥小人众,拥挤坠水,溺死甚众”。日军后续部队派步兵中尉时山龚照率三个分队的士兵,前往助战。行进中,遇一沼泽,时山挥剑驱士兵涉水而渡,水深及颈,淤泥埋膝,挣扎不得出,进退俱穷,愈陷愈深。最后,时山中尉及所率士兵二十九人,全部溺死于沼泽之中。但
日军依仗人多势众,疯狂组织反扑,见清军人少,又无后援,拚死冲击。于光炘等率数十清军,以寡敌众,坚持抵抗达一小时之久。终因众寡悬殊,后援不继,弹药用尽而失败。于光炘在激烈的战斗中中弹牺牲。