十二月二十四日巳时,鲜卑人饱餐一顿后,在白登山脚结成阵势,六万人的队伍分成五列,他们同时下山进军,从北往南以此排列是:置鞬莫罗、日律推臣、宴荔游孤迄侯、没鹿回窦宾、副伏罗去宾,而拓跋诘汾率一万人马,驻留在白登山上总揽全局。
汉军此时正要用膳,栉比的军营里升起袅袅炊烟,临近年关,今日诸军加饭,士兵们都颇为高兴,他们忽而远见鲜卑人从山间前来,不由大为扫兴,只能先搁置饭食,回到营房中拿出甲胄兵器。这时汉军以为鲜卑人只是故技重施,大概尝试一阵便会退军,但等鲜卑人距离鹿角仅五里时,他们才发现此次大为不同,鲜卑人全军压进,一看便要在此地一决生死。
军司马顾益看见山间、林间俱是鲜卑的人马,地上的砂石也随之跃动,他大为紧张,忙派使者去帅营通报情形,而后又下令敲响战鼓,鼓声震耳,士兵们也自觉列阵在鹿角之后,等待鲜卑人的第一轮冲锋。
近两月交战下来,双方对对方的战术都算熟稔了。此次鲜卑的前锋不再是甲骑具装,而是推着木楯的甲士,他们用麻布包着武靴,踏足在薄冰上,顶着汉军的箭雨一直向前,目标赫然是汉军在丘陵处突出的部分鹿角。
但汉军也做过准备,鲜卑上次突袭之后,顾益也感到此处防御薄弱,他便在丘陵上设置了三座望楼,且围着望楼和鹿角再挖了两圈壕沟,但缺陷在于,他也未料想到鲜卑军会在此地决战,以决战而言,这些布置显然远远不够。这些最前列的鲜卑甲士抬着一丈二尺的木楯,一直走到壕沟前,后方的鲜卑射手不断远射箭矢,掩护他们将木楯架在壕沟上,此地的汉军与鲜卑人兵力悬殊,即使以长矛拼命戳刺,也不过拖延了两刻钟。不少鲜卑甲士跳入壕沟内,顶着木楯驾上对岸,如此驾成十三座小桥后,鲜卑大军便成功涌入到鹿角之内,与汉军进行肉搏厮杀。
顾益在中军的望楼内远望这幅场景,心中畏惧到极点,他遥望四周想:传令的士兵还未回来吗?但眼中浮现的是更为可怖的景象。在平城之西,汉军布置有两阵一万两千人,占据着长约四里的战线,一丈内有三四人而已,而此时鲜卑人全线猛攻,每名汉军都要阻挡四倍于己的敌人,在顾益看来,敌我的对比就如同溪流与狂涛,但即使想向临近的令狐渊阵求援,令狐渊也无援兵可派了。
他又指挥军队勉力阻挡了两刻,但前线的士卒到底力不从心,壕沟间逐渐涌出越来越多的破口,而丘陵上的望楼都支撑不住,被鲜卑军攻下后又推倒了,散为一地的滚木。这时后背