信长似乎没有做好野战准备,他的精力一直放在攻城上,同时他也认为自己有兵力优势,所以只是简单地监视敌人过河而已。而朝仓-浅井的袭击确实让信长大吃一惊,不过他相对也有准备,立刻命令围城的军队转向川的南岸。二十八日凌晨,朝仓军8000人从三田村方向越过川,面对朝仓的,正好是布阵在龙鼻西面的德川军。德川家康本阵只有3000人,但三河的武士向来以“一根筋”、“不要命”闻名于世。在酒井忠次的指挥下,三河军硬是把占据人数优势的朝仓军死死地挡了几个小时。同时,浅井军也以矶野员昌为先锋,渡过川突袭坂井政尚、池田恒兴和森可成率领的信长亲军,织田军的美浓三人众从侧面给予支援,在信长的主力还没从围城中转移过来前,信长周围的部队处于劣势,都陷入苦战中。
浅井和信长两军遭遇后,浅井家臣远藤直经冲在最前面,所以,他手下的800人突进太过深入,信长的围城军陆续赶到,将远藤直经和浅井的大部队切断。浅井的前锋矶野员昌为援救远藤一马当先,突破织田军的防御。坂井政尚部由于其子久藏战死而溃散,池田恒兴被迫后退。织田信长的本阵开始发生动摇。
朝仓和浅井的意图很简单:浅井军拖住信长的本阵和美浓三人众,同时朝仓军以优势兵力迅速击败德川家康,一旦德川军溃散,信长的侧面就完全暴露在朝仓军面前,朝仓就可以和浅井配合,在信长主力没有抽回来前迅速吃掉信长本阵。这个计划堪称完美,前提是:朝仓必须打赢德川手下那群三河武士。一开始,朝仓和浅井很可能认为这是十分轻松的事情,因为德川并不是信长的手下,而是信长的同盟,同盟之间当面笑眯眯,背后捅两刀的事情是常见的,为了同盟拼死扛住比自己多上一倍的敌人肯定不划算。但问题是,朝仓所遇见的是打仗“一根筋”的三河武士,这就使他们的计划出现了一个决定性的失误。他们算东算西,就是没有算到这群三河人是那样的难啃。
就是因为没有及时被啃下的三河众,织田军赢得了时间,战场上,时间往往就意味着胜负的转折。信长的围城军队极其迅速地投入战斗,羽柴秀吉和柴田胜家首先赶到,他们遏制住了浅井的攻势。为保证侧面安全,信长命令丹羽长秀和池田恒兴迅速支援德川,攻击朝仓的侧面。原本想攻击信长侧面的朝仓自己的侧面反倒受到威胁。就在这个时候,佐久间信盛带着织田军兵力最强大的一支部队到达战场,也投入战斗。战场形势瞬间发生逆转。
首先,信长命令美浓三人众迅速赶到北岸,迂回穿插,切断了浅井军的退路,同时从侧面发动突击。正和织田军打了一整天、疲劳不堪的浅井军因为这一攻势而瓦解,远藤直经阵亡;其次是得到援助的德川军开始反扑,德川军的原康政突破朝仓侧翼,杀死朝仓军猛将真柄直隆。朝仓军士气低落,完全崩溃。
在朝仓和浅井联军被击溃的情况下,横山城也被迫投降。
川合战从战略上来讲,织田信长占了大便宜,因为他获得了横山城,可以遏制住浅井对美浓可能发动的攻势,同时切断了近江两大战略要地的联系。但他获得的战果并不大,浅井长政由于撤退时相对严整,没有遭到大的损失,朝仓则仅仅出兵八千,以朝仓的实力而言,全部兵力应该在两万人以上,所以也不能算大损失。川合战由于信长方面损失也比较大,所以无法很好地扩大战果,因此并不能说是信长的一次决定性胜利,但它仍然有其深刻的意义。