刘虞的儿子刘和在长安担任侍中。汉献帝思念故土,渴望东归洛阳,便让刘和假装逃离董卓的控制,偷偷出武关,前往幽州找刘虞,让他带兵前来接应。刘和在途中经过袁术的地盘,便将天子的想法告诉了袁术。袁术心里打着自己的小算盘,他觉得刘虞手握重兵,如果能拉他做自己的援手,那对自己将来的发展大有好处,于是就把刘和扣留下来,还许下承诺,等刘虞的兵马到了,就一起西进迎接天子,同时让刘和写信给刘虞。 刘虞收到儿子的信后,没有丝毫犹豫,立刻派出数千骑兵前去接应。公孙瓒却看出了袁术的野心,他觉得袁术不怀好意,不想让刘虞派兵,便极力劝阻。可刘虞一心想着迎接天子,根本不听公孙瓒的劝告。公孙瓒担心袁术知道自己阻拦派兵后会怨恨自己,于是也派堂弟公孙越率领一千骑兵前往袁术处,表面上是去结交,实际上却暗中指使袁术扣押刘和,夺取刘虞派来的兵马。从那以后,刘虞和公孙瓒之间的矛盾越来越深。刘和好不容易从袁术那里逃出来,向北而去,结果又被袁绍给扣下了。
与此同时,袁术派孙坚驻扎在阳城抵御董卓,袁绍却派周昂去抢夺阳城。袁术大怒,派公孙越和孙坚一起攻打周昂。双方一场恶战,公孙越不幸被流箭射中,当场身亡。公孙瓒得知堂弟死讯,悲痛欲绝,愤怒地吼道:“我弟弟的死,都是袁绍造成的!此仇不报,我誓不为人!”于是,他亲自率军驻扎在磐河,准备找袁绍报仇。
袁绍得知公孙瓒来势汹汹,心里害怕极了。为了拉拢公孙瓒,他把自己佩戴的勃海太守印绶交给公孙瓒的堂弟公孙范,让他去勃海郡上任,希望以此来换取公孙瓒的支持。公孙范到了勃海郡后,立刻率领勃海的兵马帮助公孙瓒。公孙瓒的实力大增,他先是打败了青州、徐州的黄巾军,士气大振,接着又向界桥进军。
公孙瓒越想越气,觉得袁绍罪行累累,不可饶恕,于是上表朝廷,列举了袁绍的十大罪状。大意是说袁绍凭借先辈的功绩,窃取官职,生性残暴,行为淫秽。以前担任司隶校尉时,正值国家动荡,他不但不匡扶正义,反而谄媚权贵,导致丁原焚烧孟津,招来董卓,种下了祸根;董卓进京后,他又弃君而逃,有辱朝廷的任命;身为勃海太守,他不顾国家危难,扩充自己的势力,还抢夺百姓财物;他逼走韩馥,窃取官位,伪造诏书;与崔巨业勾结,攻掠郡县;杀害有功之臣;横征暴敛,害死无辜之人;出身低微,却占据高位,辱没了袁氏家族;还抢夺孙坚的豫州刺史之位,导致董卓未能被及时诛杀。公孙瓒在表中言辞激烈地表示,自己虽能力有限,但受朝廷之恩,肩负重任,定要奉天子之命,讨伐袁绍。
表章一上,公孙瓒便迫不及待地出兵,与袁绍展开对战。袁绍这边也不甘示弱,他把军队驻扎在广川,派大将麹义打头阵。麹义作战勇猛,率领士兵一马当先冲向公孙瓒的军队。这一战,麹义大显神威,不但打败了公孙瓒的军队,还生擒了公孙瓒任命的冀州刺史严纲。公孙瓒的军队节节败退,一直退到勃海郡,他只好和公孙范一起退回蓟城。回到蓟城后,公孙瓒在大城东南修筑了一座小城,与刘虞的住处离得很近,两人之间的怨恨也越来越深。
刘虞眼见公孙瓒日渐骄横,行事愈发肆无忌惮,心中忧虑不已,深恐他会在幽州掀起更大的祸乱。公孙瓒此前就常与刘虞意见不合,还截留刘虞赏赐给胡人的财物,刘虞多次邀他议事,他都称病不来。如今公孙瓒势力坐大,刘虞深知若不加以遏制,后果不堪设想。
一番思索后,刘虞决定先下手为强,暗中集结兵力,准备突袭公孙瓒。东曹掾魏攸得知此事后,赶忙劝阻刘虞:“如今天下百姓都将您视为依靠,您身边的谋臣和武将至关重要。公孙瓒有勇有谋,虽然有些小毛病,但当下还是应该暂且容忍他。”刘虞听后,觉得魏攸说得在理,便暂时放弃了行动。
然而,命运弄人,一年后魏攸不幸染病身亡。刘虞没了可以商量的人,心中的担忧又重新涌上心头。他与下属商议后,决定再次谋划袭击公孙瓒。这次,他秘密集结部队,准备给公孙瓒来个措手不及。
可公孙瓒也不是吃素的,他耳目众多,察觉到刘虞的异动后,心中大惊。当时,他的大部分军队都分散在外地,身边兵力空虚,他担心自己抵挡不住刘虞的进攻,慌乱之下,甚至打算掘开东城门逃跑。
刘虞这边,虽说集结了不少兵力,但这些士兵平日里缺乏训练,毫无战斗经验,队伍也不成章法。而且刘虞心怀仁慈,他爱惜百姓房屋,再三叮嘱士兵不许纵火。这一命令虽然体现了他的爱民之心,却也给了公孙瓒可乘之机。
公孙瓒见刘虞的军队如此松散,心中一喜。他趁着刘虞军队不备,果断下令放火,火势迅速蔓延开来。紧接着,他亲率精锐部队,借着大火的掩护,向刘虞的军队发起猛烈冲击。刘虞的军队顿时阵脚大乱,士兵们四处逃窜,根本无法组织起有效的抵抗。这场战斗很快就以刘虞的惨败告终,他无奈之下,只好带着残兵败将逃出蓟城,奔向居庸关。
公孙瓒怎会轻易放过刘虞,他乘胜追击,一路追到居庸关下。居庸关虽地势险要,但在公孙瓒的猛烈攻击下,很快就被攻破。刘虞和他的家人都被公孙瓒生擒,公孙瓒得意洋洋地将刘虞押回蓟城。
就在这时,传来了董卓被杀的消息。汉献帝派使者段训前来,给刘虞增加食邑,让他都督六州军事,同时封公孙瓒为前将军,赐爵易侯。公孙瓒本就对刘虞心怀怨恨,如今更是担心刘虞会借机报复,于是一不做二不休,诬陷刘虞想要称帝,还威胁段训将刘虞斩首。行刑当日,公孙瓒将刘虞绑在集市上,还假惺惺地说:“要是你真该做天子,上天就该降雨救你!”当时正值盛夏,酷热难耐,一整天都没有下雨,公孙瓒见状,便残忍地杀害了刘虞。刘虞的死讯传出,许多忠义之士悲愤不已,像故常山相孙瑾、掾张逸、张瓒等人,纷纷痛骂公孙瓒,最后与刘虞一同赴死。
公孙瓒除掉刘虞后,更加肆无忌惮。他上表朝廷,让段训担任幽州刺史,自己则独揽幽州大权。此时的他,变得骄傲自大,心胸狭隘,只记得别人的过错,却对别人的好处视而不见,还杀害了不少无辜之人。他瞧不上那些出身名门的子弟,认为他们一旦富贵,就会觉得理所当然,不懂感恩。反而对一些平庸之辈宠爱有加,像以前靠占卜为生的刘纬台、贩卖丝绸的李移子、商人乐何当等人,他与这三人结拜为兄弟,还自称为伯,把他们当作自己的心腹。这几人靠着公孙瓒,个个富可敌国,公孙瓒甚至还把他们的女儿许配给自己的儿子,常常将他们比作古代的曲周侯郦商、颍阴侯灌婴。
刘虞的旧部渔阳人鲜于辅、齐周,还有骑都尉鲜于银等人,得知刘虞被杀的噩耗后,悲痛欲绝,发誓要为刘虞报仇。他们知道燕国的阎柔在乌丸、鲜卑部落中素有威望,便共同推举阎柔为乌丸司马。阎柔果然不负众望,他四处奔走,凭借自己的恩信,召集了胡、汉数万人马。随后,阎柔率领这支大军,与公孙瓒任命的渔阳太守邹丹在潞北展开激战。这场战斗打得异常激烈,阎柔的军队士气高昂,勇猛无比,最终大破邹丹的军队,邹丹也在乱军中被斩杀。
袁绍得知此事后,觉得这是个削弱公孙瓒的好机会,便派麹义与刘虞的儿子刘和,率领军队与鲜于辅等人会合,共同攻打公孙瓒。公孙瓒接连遭遇败仗,损兵折将,无奈之下,只好退回易京,打算凭借坚固的城防死守。
早在之前,民间就流传着一首童谣:“燕南垂,赵北际,中央不合大如砺,惟有此中可避世。”公孙瓒认为易京就是童谣中所说的避难之地,便在这里大兴土木,修筑防御工事。他在易京城外挖掘了十重壕沟,在壕沟内修筑了许多高五六丈的土丘,还在上面建造了高楼。在最中间的位置,他特意修筑了一座高达十丈的土丘,自己就住在里面。同时,他还储备了三百万斛粮食,心想:“以前觉得天下大事可以轻易掌控,如今看来,却不是我能决定的。不如先休养生息,好好种地囤粮。兵法上说,百楼不攻,我现在有这么多高楼防御,等把这些粮食吃完,天下局势说不定就明朗了。”他企图以此来拖垮袁绍。
袁绍自然不会轻易放弃,他派将领率军不断攻打易京。然而,公孙瓒的防御工事太过坚固,袁绍的军队围攻了好几年,都没能攻克。