袁紹與呂布在常山會戰原黑山軍首領張燕。

這張燕因身輕如燕,又驍勇善戰,所以軍中都稱他為“飛燕”。

後來張燕的部隊不斷壯大,與常山、趙郡、中山、上黨、河內等地義軍互相聯絡,部眾發展到近百萬人。

朝廷卻無力派兵圍剿,改為招撫。

於是,張燕派使者到京城洛陽,上書朝廷請求歸降。

朝廷任命張燕為平難中郎將,使他管理黃河以北山區的行政及治安事務,每年可以向朝廷推薦孝廉,並可派遣計吏直接到京師奏報。

袁紹與曹操剿滅黑山軍時,張燕已經投降朝廷,未能救援。

這次袁紹聯合呂布與張燕主力在常山展開激戰。

張燕只剩一萬多精兵、幾千騎兵。

呂布經常騎著能夠騰躍城牆、飛跨壕溝,名叫赤兔的良馬,與關係較為親近的麾下猛將成廉、魏越等幾十個人騎馬衝擊張燕軍陣,有時一天三四次,每次都砍不少首級回來,連續作戰十多天,終於打敗了張燕的軍隊。

呂布仗恃自己戰功,再次向袁紹要求增加軍隊,袁紹卻不答應。

而呂布手下將士時時搶劫、掠奪,引起袁紹疑恨。

呂布覺察後甚感不安,請求回洛陽。

袁紹表示同意並以天子名義任命呂布領司隸校尉,派甲士相送,暗中卻想除掉呂布。

呂布對袁紹行為有所懷疑,就派人在營帳中彈著箏,自己卻悄悄逃了出去。

袁紹派甲士半夜刺殺呂布,卻發現床上無人,急忙下令關閉城門,封鎖嚴查。

呂布得脫,欲逃河內與張楊聯合。

袁紹派兵追殺呂布,士兵無不懼怕,不敢逼近。

呂布途經陳留,正值陳宮為陶謙說情,曹操不聽,便往陳留投靠張邈。

陳宮在張邈處聞知呂布來到陳留,趁機勸說張邈:“現在天下分裂,英雄豪傑並起,張牧守擁有十萬軍兵,處在可以四面作戰之地,按劍雄視天下,足以成為人中豪傑,卻反被人控制,不是太卑下了嗎?現在兗州軍隊東征,其地空虛,呂布是猛士,善於作戰,英勇無敵,將他接來一同佔據兗州,觀望天下形勢,等候時事變化好轉,足以縱橫一時。”

張邈聽從了陳宮的意見,就同弟弟張超等人迎接呂布,請他當兗州牧,佔據濮陽,兗州所屬郡縣一同響應。

時荀彧和壽張令程昱守鄄城,呂布到後,張邈派劉翊告訴荀彧:“呂將軍來幫助曹使君進攻陶謙,應該馬上供給他們軍備糧食。”

眾人疑惑,唯荀彧知其計,立即命令軍隊加強防範,並急召東郡太守夏侯惇。

當時曹操率大軍出征徐州,留守兵力很少,而且很多人都與張邈、陳宮勾結。

夏侯惇到後,乘夜誅殺謀反者數十人,軍心方安。

豫州刺史郭貢受呂布煽動,率眾數萬來到城下,軍中甚懼。

郭貢要求見荀彧,荀彧欲往。

夏侯惇說:“君乃一州屏障,如前往定有危險,不可去。”

荀彧說:“郭貢與張邈平素並沒有什麼往來,又來得匆忙,計劃肯定還沒有商定。趁他計策未定去說,就算不起作用,也可使其保持中立。如果不見先懷疑,他就會因惱怒而計成。”於是出城會見郭貢。