徐晃字公明,河东杨人也。为郡吏,从车骑将军杨奉讨贼有功,拜骑都尉。李傕、郭汜之乱长安也,晃说奉,令与天子还洛阳,奉从其计。天子渡河至安邑,封晃都亭侯。及到洛阳,韩暹、董承日争斗,晃说奉令归太祖;奉欲从之,后悔。太祖讨奉於梁,晃遂归太祖。
太祖授晃兵,使击卷、卷音墟权反。原武贼,破之,拜裨将军。从征吕布,别降布将赵庶、李邹等。与史涣斩眭固於河内。从破刘备,又从破颜良,拔白马,进至延津,破文丑,拜偏将军。与曹洪击氵隐强贼祝臂,破之,又与史涣击袁绍运车於故市,功最多,封都亭侯。太祖既围鄴,破邯郸,易阳令韩范伪以城降而拒守,太祖遣晃攻之。晃至,飞矢城中,为陈成败。范悔,晃辄降之。既而言於太祖曰:「二袁未破,诸城未下者倾耳而听,今日灭易阳,明日皆以死守,恐河北无定时也。原公降易阳以示诸城,则莫不望风。」太祖善之。别讨毛城,设伏兵掩击,破三屯。从破袁谭於南皮,讨平原叛贼,克之。从征蹋顿,拜横野将军。从征荆州,别屯樊,讨中庐、临沮、宜城贼。又与满宠讨关羽於汉津,与曹仁击周瑜於江陵。十五年,讨太原反者,围大陵,拔之,斩贼帅商曜。韩遂、马超等反关右,遣晃屯汾阴以抚河东,赐牛酒,令上先人墓。太祖至潼关,恐不得渡,召问晃。晃曰:「公盛兵於此,而贼不复别守蒲阪,知其无谋也。今假臣精兵臣松之云:案晃于时未应称臣,传写者误也。渡蒲坂津,为军先置,以截其里,贼可擒也。」太祖曰:「善。」使晃以步骑四千人渡津。作堑栅未成,贼梁兴夜将步骑五千馀人攻晃,晃击走之,太祖军得渡。遂破超等,使晃与夏侯渊平隃麋、汧诸氐,与太祖会安定。太祖还鄴,使晃与夏侯渊平鄜、夏阳馀贼,斩梁兴,降三千馀户。从征张鲁。别遣晃讨攻椟、仇夷诸山氐,皆降之。迁平寇将军。解将军张顺围。击贼陈福等三十馀屯,皆破之。
太祖还鄴,留晃与夏侯渊拒刘备於阳平。备遣陈式等十馀营绝马鸣阁道,晃别征破之,贼自投山谷,多死者。太祖闻,甚喜,假晃节,令曰:「此阁道,汉中之险要咽喉也。刘备欲断绝外内,以取汉中。将军一举,克夺贼计,善之善者也。」太祖遂自至阳平,引出汉中诸军。复遣晃助曹仁讨关羽,屯宛。会汉水暴隘,于禁等没。羽围仁於樊,又围将军吕常於襄阳。晃所将多新卒,以羽难与争锋,遂前至阳陵陂屯。太祖复还,遣将军徐商、吕建等诣晃,令曰:「须兵马集至,乃俱前。」贼屯偃城。晃到,诡道作都堑,示欲截其后,贼烧屯走。晃得偃城,两面连营,稍前,去贼围三丈所。未攻,太祖前后遣殷署、硃盖等凡十二营诣晃。贼围头有屯,又别屯四冢。晃扬声当攻围头屯,而密攻四冢。羽见四冢欲坏,自将步骑五千出战,晃击之,退走,遂追陷与俱入围,破之,或自投沔水死。太祖令曰:「贼围堑鹿角十重,将军致战全胜,遂陷贼围,多斩首虏。吾用兵三十馀年,及所闻古之善用兵者,未有长驱径入敌围者也。且樊、襄阳之在围,过於莒、即墨,将军之功,逾孙武、穰苴。」晃振旅还摩陂,太