尹文公将军队分为两支,一支按原定计划进攻施谷,一支绕道迂回到守军后方。十五日,两军在施谷展开大战,刘文公军依仗险地阻击叛军进攻,结果却遭到身后奇兵的攻击;刘文公军腹背受敌,一溃数里。尹文公一鼓作气占领了尸氏城,又在城内修整了一日。
尹文公继续前进,终于来到刘城郊外。他见刘城的防御十分坚固,感觉凭自己手中的兵力无法攻陷城市,便在一处背靠高地之处扎下营寨,又向王子朝请求增兵。
六月中旬,援军从王城出发。但是由于连日暴雨倾盆导致道路不通,恶劣的天气阻碍了援军的行动。援军直到七月十五日才通过泥泞难行的施谷。
七月十七日,刘文公见防守无望,第三次带着周敬王逃出刘城。叛军随即进入城市,尹文公无处发泄怒气,竟然放火将刘城火烧成一片废墟。
周敬王一路南逃,最后进入滑城(滑被秦所灭,后来归郑国所有)。当时知跞和赵鞅率领的晋国援军也到了。知跞派大夫女宽率部防守龙门隘道,又命赵鞅戍守滑城。
刘文公在周人和晋人举行的军事会议上说:“叛乱已经持续整整四年啦!叛军不消灭、自己不会失败。赵孟(赵鞅)曾说:‘明年将纳王。’可是‘明年’已经过去啦,天王却离王城越来越远,王子朝却越来越嚣张。王室之乱不仅扰乱了东周,也成为盟主的烦恼,成为天下诸侯的心病。
“叛军虽然取得了很大胜利,但是本身损失也不小,而且都身心疲惫了。某些王室大夫只是被迫站在王子朝一边,他们内心还是忠于天子的。如果我们大举进军王城,他们必然会阵前倒戈。所以我请求盟主帮助天王尽快平定叛乱,以维护王室天威,维护大国的霸主地位。”
知跞和赵鞅表示赞同(两人都被王室内部无休无止的动乱搞得焦头烂额),于是赵鞅来到新郑,向郑定公请师。
九月中旬,驷歂率郑军到达滑城。十月二十一日,王师、晋、郑联军浩浩荡荡从滑城出发,北渡洛水,军队遂分为两路。十一月初,王师与郑军收复了尸氏,并将周敬王安置在城内;晋军经过猛烈的战斗攻陷了王子朝的封邑巩城。
当时尹文公在王城以外指挥军事行动,召简公在城内管理城内政务。召简公见王子朝大势已去,于是摇身一变,变成潜伏在叛军身边的无间道者。他趁局势混乱之际带领族甲将王子朝和他的党羽们赶出王城;王子朝党大部分逃往楚国,叛国者在逃跑时带走了东周的大量典籍。
十一月底,周敬王进入成周。知跞留下一支军队保护周敬王安全,然后率军回国了。十二月,周敬王终于回到了阔别三年的王城,历时四年的王子朝之乱暂告结束。