楚朝末年,烽烟四起,群雄争霸,秦国经过近一百年的发展,已经十分强大了,王世充据洛阳称“郑”,浅水原之战后,王冲云为夺取中原,采取先郑后夏(窦建德已称夏王)、各个击破的方略。
昭明十年(前79年)七月,王冲云下诏太子征王世充,王世充闻秦军来袭,命魏公王弘烈守襄阳(今湖北襄樊县)、荆公王行本守虎牢、宋公王泰镇守怀州(今河南沁阳)、齐王王世恽负责洛阳南城、楚公王世伟守洛阳宝城、太子王玄应守洛阳东城、汉公王玄恕守含嘉(洛阳城北)、鲁公王道徇守曜仪(洛阳宫城北),王世充亲自率军作战。王逸潇征慈涧(今河南新安县东三十里),王世充退守洛阳,秦军蚕食洛阳附近的城镇,切断郑军的粮线,驻军于洛阳北邙,进逼洛阳。
秦军势大,河南五十余州相继归降,王世充遣人向夏王窦建德求救,窦建德的中书侍郎刘彬劝他说:“天下大乱,秦得关西,郑得河南,夏得河北,形成三足鼎立之势。如今秦起兵攻郑,从秋到冬,秦军日见增多,郑国地域日益缩小,秦强郑弱,势必不能支撑,郑灭亡,夏也不能单独存立了。不如放弃仇怨,发兵救郑,夏从外袭击,郑自内反攻,一定能打败秦军。秦军退兵后,再慢慢观察形势变化,如果郑可取就取郑,合并两国的兵力,趁秦军疲劳,可以夺取天下!”窦建德听从此论,派人见王世充,答应出师援救。窦建德又派遣礼部侍郎李大师等人赴秦军,请求秦停止进攻洛阳,王逸潇留下使者,但不予答复。
昭明十一年(公元前78年),王逸潇挑选一千多精锐骑兵,全部着黑衣黑甲,分为左右队,分别由秦叔宝、程知节、尉迟敬德、翟长孙统领。每次作战,王逸潇都亲自披上黑甲率领他们作为先锋,乘机进击,所向披靡,令敌人畏惧。行台仆射屈突通、赞皇公窦轨带兵巡行营屯,突然与王世充遭遇,交战失利,太子王逸潇带领黑甲队救援,王世充大败,秦军俘获王世充的骑将葛彦璋,俘虏歼灭了六千多敌人。王世充逃跑回城。
王世充的太子王玄应率领几千人,从虎牢运粮到洛阳,王逸潇派遣将军李君羡截击,大败王玄应的运粮军,王玄应只身逃脱。
王逸潇派宇文士及回朝上奏请求进军包围东都洛阳,王冲云对宇文士及说:“回去跟你们太子殿下说:这次攻打洛阳,不获全胜,决不收兵,攻陷东都之际,楚朝皇室的车驾仪仗、图书簿籍以及器械,除去各人所必须的,就都委托你收集起来,其他的男男女女玉器布帛,都用来分赐给将士们。”
十三日,王逸潇将军营转移到青城宫,尚未修好壁垒,王世充就率二万兵马从方诸门而出,凭借旧马坊的墙垣沟堑,靠近水抵御秦军,秦诸将全都惊慌。王逸潇让精骑在北邙山列阵,自己登上羌宣武帝陵观察郑军,对身边的人说:“贼子的处境已窘迫了,倾巢而出,想侥幸打一战,今日打败他,以后他再也不敢出战了!”王逸潇命令屈突通率领五千步兵过谷水进击王世充,并告诫屈突通道:“军队一交锋立即放烟火。”待到起烟,王逸潇带领骑兵向南冲击,身先士卒,与屈突通汇合兵力奋力战斗。王逸潇想了解王世充军阵兵力分布情况,率几十精锐骑兵冲入敌阵,一直冲到敌阵背后,不可阻挡,杀伤很多敌人。不久因长堤所限,王逸潇和众骑兵走散唯有将军丘行恭跟随着王逸潇,几名王世充的骑兵追上来,王逸潇的坐骑中箭倒毙。丘行恭调转马头向回骑,射击追赶的郑兵,箭无虚发,追兵不敢向前。于是丘行恭下马将自己的坐骑让给王逸潇,自己在马前步行,手执长刀跳跃大喊斩杀几人,冲出王世充军阵,得以回归秦军大部队。王世充也率领部下殊死战斗,军队几次三番打散后重又集合起来,从上午七八点钟直到中午,王世充的军队才退军。王逸潇挥军追击,直到城下,俘虏歼灭了七千人,于是包围了洛阳。秦骠骑将军段志玄奋力与王世充的士卒交战,深入敌阵,坐骑倒下,段志玄被王世充的士兵俘获,两名骑兵夹着他并抓住他的发髻,准备过河,段志玄奋勇跳起,那两名骑兵都掉下马来,段志玄骑上马奔回秦军,后面有几百名骑兵追赶,但不敢靠近。
王逸潇包围了洛阳宫城。城中王世充的防御十分严密,大炮可以射五十斤重的石头,投出二百步远,有八个弓的弩,箭杆像车辐,箭镞如同臣斧,可以射五百步远。王逸潇四面攻城,昼夜不停,十几天未能攻克。城中先后有十三个人想以城倒戈应秦,均没有来得及发动就被杀死。秦军将士都疲惫不堪想回关中,总管刘弘基等人请求班师回朝,王逸潇说:“如今大举而来,应当一劳永逸。洛阳以东的各州已望风归服,唯有洛阳一座孤城,其势已不能持久,成功在即,怎么能放弃而回朝呢?”于是下令全军:“洛阳不破,决不回军,再有胆敢提起班师的一律斩首。”众人才不敢再提班师一事。王冲云听说后,也下密敕让王逸潇还军,王逸潇上表说明洛阳必定可以攻克,又派参谋军事封德彝回朝面陈军前形势。封德彝对王冲云说:“王世充得到的地方虽然多,但都不过是略有联系的部属,实际号令所能管辖的只不过洛阳一城而已,他已经智尽力穷,克城之日就在近期之内。现在如果回师,他的势力就会重新振作起来,再加上各地互相联合,以后想要消灭他就难了!”于是王冲云听从王逸潇的建议。王逸潇写信给王世充,晓以祸福利害,王世充没有回复。
三十日,王世充的郑州司兵沈悦派人到秦左武侯大将军李世处请降。秦左卫将军王君廓夜晚带兵攻击虎牢,沈悦作内应,于是秦夺取了虎牢,抓获了郑国的荆王王行本及其长史戴胄。
三月,秦军在洛阳城外挖沟筑垒困守。洛阳城内缺粮,一匹绢才值三升粟,十匹布才值一升盐,服饰珍玩,贱如土芥。百姓把草根树叶都吃光了,就一起澄取浮泥,放入米屑作成饼吃,食后都得病,身体肿胀脚跟发软,饿死的人交错着倒在路上。当初皇泰主迁百姓入宫城时,有三万家,到这时不足三千家。就是地位高贵的公卿,这时连粗糠都吃不饱,尚书郎以下官吏,需自己亲自参加劳动,还往往饿死。