尔朱荣决定夺回洛阳后,先从东西两方越过黄河对洛阳形成包围,陈庆之为了减轻洛阳方面的压力,遂主动率白袍队7,000人渡河守要塞北中郎城。尔朱荣看到陈庆之背水前进,马上兵临城下企图一举消灭陈庆之。陈庆之也不愿守城,于是领兵出城决战。史书上对这次交战记载很简略,只说「三日十一战,伤杀甚众…...荣意欲还北,将图后举。」七千对三十万,居然是三十万的一方死伤惨重,几乎要主动退军。
不过尔朱荣也不愧是当时北方第一名将,虽然死伤惨重,至少还没崩溃。而且知道打不过陈庆之后,马上就改变策略,不再与陈庆之作正面接触,转而拨出十万人绕道过河,直接抄袭元颢所在的洛阳。结果元颢一战即溃,在逃往临颍的路上被抓获,洛阳失陷。
洛阳既失,沿路的城池又大多反叛,陈庆之只能带着他的部队退回南梁。史书说尔朱荣亲率领大军追击陈庆之,不过恐怕是监视的成分居多,否则以黄河两岸都在尔朱荣控制下,岂能让陈庆之安然渡过黄河。陈庆之沿路打败阻击的北魏军,一直走到嵩河,渡河时竟然遇到山洪暴发,陈庆之那身经百战的军队一下子死散无数。他本人因为亲自负责殿后,没有被洪水冲走,但尔朱荣紧逼而来,只好在当地僧人的帮助下剃度装扮成僧人,抄近道到达豫州,得豫州人程道雍的协助暗地送出汝阴回到了建康。