从后来的局势发展看,聂士成果然是有先见之明。清军此时在朝鲜无论是海陆兵力都不占优势,撤退是一个非常明智的选择,因为日本并不敢冒天下之大不韪在这个时间不顾英、俄可能干涉的危险悍然吞朝。清军的撤退可以避免授人以口实,扩大事端。可惜聂士成的意见没有被接受。清军统帅叶志超却提出了一个所谓“南北会师”之策,建议清军由北面出动南下,而叶志超率部北上以护商为名,以期南北会合。这本身是一个如空中楼阁一样的计划,清军此时调兵入朝鲜北部时间上赶不及,而叶志超也缺乏北进的路线。而李鸿章此时孜孜于英美的所谓“调停”,下令叶志超部“静守勿动”。于是清军在朝鲜牙山一带处于被动挨打的局面。
7月14日,叶志超、聂士成等人接到了李鸿章的电报:“和议难成,已遣江自康带仁字营来助战守”,继而在24日,李鸿章又一次电告:“和议决裂,速备战守”。在此期间,袁世凯已经自仁川回国。26日,丰岛海战的消息传到牙山。日本驻朝混成旅团的前哨侦骑已经在牙山附近的振威一带活动。此时,叶志超又一次出现判断失误,他仓促间下令分兵三路,一路由聂士成在率领在成欢驿一带构筑防御工事,拦截日军。叶志超自己率军移驻公州为后援,而以500人驻守牙山。这一分兵决策是致命的,清军的兵力本不及日军,如要对抗,必须集中优势兵力,而叶志超却把原本微弱的兵力进一步分割,形成了更大的劣势。29日,日军分兵两路,右翼军在安城渡遭遇清军的伏击,仓促间陷入被动,但由于清军人数过少,日军后继部队加入战斗后,清军被迫撤退。左翼日军在得知右翼得手后,向成欢驿的聂士成清军阵地发起猛攻,以炮火优势压制了清军,聂士成率军突围,与叶志超会合后决定撤往平壤。8月下旬,叶、聂所率清军与平壤的左宝贵等部会合。
整个牙山的失败几乎与明末的萨尔浒之战如出一辙,同样是分兵,同样是寡不敌众,最终同样吞下了失败的苦果,一个王朝的末期大约都是同样的轮回吧。牙山的失败,一方面要归咎于清廷“战和不定”的犹豫状态,片面相信“调停”而未对到底是“增兵”还是“撤军”做出关键性的决断,而另一方面则在用人和排兵布阵的失误。这一失败使日军切断了中国向朝鲜西海岸运输的通道完全被切断,使日军能全力北上对抗平壤清军,可以说,牙山之败,埋伏下了清军在朝鲜失败的种子。