初平三年四月,少府孔融奉漢獻帝詔命,率領一支五千人的商隊,在三千精銳士卒的保護下,隨大秦國使者安東尼奧西行,前去開闢與大秦國之間的商路。
五月,韓湛表奏漢獻帝,任命徐庶為幷州刺史,田豐是幷州長史,並派典韋領兵五千護送兩人前往上黨上任。
六月,徐庶、田豐、典韋等人帶著兵馬到達上黨。上黨太守張揚得知新任的幷州刺史到任,親自出城三十里相迎。
同月,私下結好踏頓渤海太守袁紹,起兵北上去攻打公孫瓚。
公孫瓚領兵迎擊,雙方在薊縣南面的琢縣展開大戰。
雖然袁紹手下有顏良、文丑這樣的猛將,又有審配、辛評、辛毗的謀臣輔助,但公孫瓚得到了劉備三兄弟的幫助。雙方交戰一月,互有勝負,誰也奈何不了誰,便在琢縣一帶對峙。
七月,烏桓單于踏頓派遣手下的大將難樓、蘇僕延、烏延分三路出擊,同時攻擊玄菟郡、昌黎郡和遼東郡,迫使公孫瓚不得不抽調兵馬去迎擊。
察覺到公孫瓚分兵,袁紹立即發起了新的攻勢。兵力不足的公孫瓚不是袁紹的對手,不得不放棄琢縣,退回了薊縣堅守不出。趁著公孫瓚不敢出戰,袁紹又派顏良、審配、辛毗等人攻略樂浪郡和帶方郡。
十月,樂浪郡、帶方郡、玄菟郡、昌黎郡和遼東郡俱已成為了袁紹的囊中之物,而公孫瓚控制的地盤,只剩下了遼西郡、右北平郡、漁陽郡、上谷郡、范陽郡、代郡等地。
袁紹見幽州近半數的地盤已經落入了自己的手中,覺得公孫瓚大勢已去,再加上幽州牧劉虞病死,便自領幽州牧,並傳檄六郡,命他們歸順自己。
袁紹自領幽州牧的事情,很快就傳到了鄴城,韓湛召集自己的部下商議此事。
郭嘉向韓湛獻策,向漢獻帝表奏公孫瓚為新的幽州牧,讓他與袁紹拼個你死我活。等兩人打得兩敗俱傷後,再由冀州出兵,滅掉袁紹和公孫瓚。
韓湛採納了郭嘉的建議,請求漢獻帝任命公孫瓚為新的幽州牧,讓他與袁紹分庭抗禮,互相攻伐。
公孫瓚被漢獻帝任命為幽州牧,便從薊縣出動出兵,試圖奪回被袁紹佔領的五郡之地,雙方從此開啟了長達兩年的互相攻伐。
初平五年三月,公孫瓚與袁紹經過兩年的互相攻伐,雙方就變得筋疲力盡。踏頓見袁紹遲遲拿不下公孫瓚,便引兵返回了自己的王庭。
得知踏頓已經率軍北返,郭嘉向韓湛進言,說是奪取幽州的時機已經成熟,可以正式出兵幽州。
四月,韓湛率領郭嘉、沮授、趙雲、黃忠和張郃,領兵十五萬離開冀州,浩浩蕩蕩地殺奔渤海郡。
袁紹為了和公孫瓚大戰,早已把渤海郡的兵馬抽調一空。韓湛兵馬所過之處,都是望風而降。韓湛不費一兵一卒,便輕鬆地佔領了渤海郡全境。
得知渤海郡失守,袁紹不禁大驚失色,連忙命令顏良領兵三萬前來迎擊。顏良雖然武藝高強,卻是一個有勇無謀之輩,被黃忠斬殺在琢縣城外。