徐寧是東京禁軍金槍班教師,常隨侍御駕,家傳金槍法、鉤鐮槍法,天下獨步,人稱金槍手。他和金錢豹子湯隆是姑舅兄弟。
雙鞭呼延灼征討梁山時,以連環甲馬沖陣,使得梁山軍隊陷入苦戰。湯隆提出用鉤鐮槍可破連環甲馬,并推薦徐寧,還建議用徐寧愛逾性命的家傳之寶“雁翎圈金甲”誘其上山。林沖與徐寧有舊交,也盛贊不已。軍師吳用便讓鼓上蚤時遷前去盜取寶甲。
時遷潛入徐寧家中,將寶甲盜出,而后湯隆又以探親的名義前去拜訪徐寧。徐寧在寶甲被盜后,一直愁眉不展,在湯隆的詢問下告知此事。湯隆假稱曾在路上見過盜甲人,將徐寧騙出東京,一直追到山東境內,并在樂和的配合下,用蒙汗藥將徐寧迷倒,連夜送上梁山。
徐寧被騙上梁山后,宋江讓湯隆和戴宗前往東京,接取徐寧家眷。湯隆身穿圈金甲,冒用徐寧之名,在途中劫取財貨。徐寧醒后,見退路斷絕,只得留在梁山,教授鉤鐮槍法。最終,梁山軍使用鉤鐮槍,配以撓鉤,果然擊敗呼延灼,大破連環馬。
大破連環馬后,徐寧先后隨征華州、芒碭山、曾頭市。宋江繼任梁山寨主后,在忠義堂周圍設立四座旱寨。徐寧坐鎮前軍寨,居第二位。
攻打東平府時,徐寧大戰董平,五十余合不分勝敗,最終被宋江鳴金召回。后轉戰東昌府,率先與守將張清交戰,卻被張清以石子打中眉心,負傷落馬,被呂方、郭盛救回。
梁山排座次時,徐寧排第十八位,星號天祐星(一作天佑星),擔任馬軍八驃騎兼先鋒使,與關勝、宣贊、郝思文一同把守正東旱寨。兩贏童貫時,宋江擺下九宮八卦陣。徐寧率領金槍隊,與花榮的銀槍隊一同負責拱衛中軍
梁山受招安后,徐寧隨宋江南征北戰,頗有戰功。
崇武石雕工藝博覽園中的徐寧雕像
征討遼國時,梁山軍進攻密云縣時和遼兵初次交戰,徐寧對戰番將阿里奇,打了最多三十幾個回合抵擋不住,張清用飛蝗石打中阿里奇落馬,徐寧逃回本陣。后殺死薊州守將天山勇。最后擔任林沖的副將,攻破太乙混天象陣中的木星陣。
征討田虎時,徐寧先后殺死蓋州守將安士榮、壺關守將史定、昭德守將聶新、潞城守將池方。而在簡本水滸中,徐寧還曾生擒飛狐寨守將昝仝美、元仲良、蘇林嶺守將鄂全忠。
征討方臘時,徐寧隨軍攻蘇州,大戰東廳樞密使呂師囊,交戰僅二十余合,便將呂師囊一槍搠下馬去。
杭州之戰時,徐寧和郝思文率隊巡哨,一直哨到杭州北前門,結果遇到敵軍突襲。徐寧奮力殺出重圍,因見郝思文被敵軍生擒,便要回身相救,卻被流矢藥箭射中項部,帶箭飛馬而走,幸被關勝救回。他七竅流血,當夜昏迷數次。但神醫安道全已被留任京師,軍中并無良醫,宋江只得將徐寧送到秀州養病,半個月后金瘡不痊而死。徐寧是梁山戰死的第一位正將,后追封忠武郎。