庞万春是方腊部下的大将,他擅于弓箭骑射,绰号“小养由基”,方腊国第一神箭手。在与梁山军交战时,庞万春带兵把守昱岭关。史进、石秀、陈达、杨春、李忠、薛永、欧鹏七位梁山好汉都折在他手上,不愧方腊麾下第一高手。宋江率领梁山人马征讨方腊,战事已经进行过半,杭州已被攻陷。宋江与卢俊义决定分兵,分别攻取睦州、歙州,卢俊义抓阄抓的是歙州。于是卢俊义统领领正偏将校共计二十九员,随行军兵三万人马,启程前往歙州。
而攻取歙州之前,要先拿下昱岭关。卢俊义军队到达昱岭关前,命史进、石秀、陈达、杨春、李忠、薛永六人骑马出哨,并带领三千步军。众将来到关下,一个对方士兵都没有发现,史进感到疑惑,便与诸将商议。话没说完,就看见关上竖着一面彩绣白旗,庞万春就站在旗下。庞万春看见史进等人,先射了一箭下来,正中史进,将他攧下马去,其余五将一齐急忙把史进“救得上马”。
两边的弩箭雨点般射下来,那五人加上史进全部被射死,而三千步卒只剩下百余人逃出。卢俊义一下子折了六名将领,只能听从朱武建议,派时迁去探路。时迁在山中得到一位老者的帮助,知道了通向庞万春寨后的小路。卢俊义率众将放火开路,林冲、呼延灼等找准时机攻占昱岭关,最后,雷炯、计稷被活捉,庞万春趁乱逃走。
庞万春败退到歙州,卢俊义带兵来到歙州,庞万春率五千兵出城迎敌。与欧鹏对战斗不过五回合,庞万春佯装败走。欧鹏纵马去追赶,被庞万春背射一箭,欧鹏绰箭在手,继续追赶,庞万春又射出第二支箭,将欧鹏射下了马。庞万春连杀梁山泊七位好汉,开始心浮气躁起来,他与王寅、高玉商议提议等宋军后退三十里下寨后劫寨。到寨前高玉发现情况不妙,庞万春却不以为然,于是两人带兵劫寨,果然中计,高玉阵亡。庞万春逃跑时却被汤隆用钩镰枪拖倒马脚,从而被活捉。