董卓的人马守得好。洛阳攻防战的主战场,分布着东汉历代帝王的陵墓。自南面攻洛阳的孙坚,首战被徐荣杀得大败。徐荣是董卓手下的大将,曾经在汴水边大败曹操。
孙坚战败还有粮草接济不上的原因。名义上,他作为袁术的部将出征,所以粮草一事理应由袁术安排。然而,袁术内心却有自己的想法:“董卓是西北饿狼,孙坚乃江东猛虎;除掉饿狼,却又迎来猛虎。这可要好好考虑考虑。”于是,袁术迟迟不发粮草。孙坚大怒,由前线战场驰回鲁阳营地,面责袁术,终于保证了粮草的补给。
董卓命东郡太守胡轸追击败退的孙坚。胡轸军的骑督(骑兵队长)是吕布,但二将关系并不融洽。董卓派了五千人马追击,孙坚利用敌方主帅不睦、无法协同作战的弱点,大破敌军,连猛将华雄都被斩杀。这一仗扭转了战局。
孙坚率军继续北上,打到了历代君王陵墓所在地。因为董卓挖开王陵,掠夺珠宝,到处都是洞穴,没有一座陵墓保持完整。“历代汉室天子的在天之灵必定痛恨董卓,保佑我军。此战有神明相佑,我军必胜无疑!”孙坚放声大喝,冲在阵前。此战董卓亲自出马,却被意气风发的孙坚军杀得大败,败走渑池。孙坚的目标直指洛阳。守洛阳的是刚刚战败的吕布。“吕布何足挂齿!他乃手下败将,诸位不是都知道了吗?冲啊!冲啊!”战争中有“乘势”一说。孙坚的人马势头正盛,再了不起的吕布也难以招架,逃往西面。孙坚就这样进了洛阳。然而,洛阳城中没有欢迎他的住民,那里是一片纵火烧过的无人荒野。史书中写道:“旧京(洛阳)空虚,数百里中无烟火。”据记载入城的孙坚“惆怅流涕”。