Gan Ning (甘宁, Cam Ninh), courtesy name Xingba (兴霸, Hưng Bá), was a general of Sun Quan (孙权, Tôn Quyền) and one of the most feared river commanders of the late Eastern Han. He was a native of Linjiang in Ba Commandery (巴郡临江; present-day Zhong County, Chongqing). In youth he led a bell-and-feather Yangtze band known as the Jinfan (锦帆, Cẩm Phàm) raiders; later he served Liu Biao (刘表, Lưu Biểu) and Huang Zu (黄祖, Hoàng Tổ), killed Ling Cao (凌操, Lăng Thao) at Xiakou, and — saved and recommended by Su Fei (苏飞, Tô Phi) — crossed to Wu. Under Sun Quan he fought at Jiangxia, the Red Cliffs, Yiling against Cao Ren (曹仁, Tào Nhân), Xiaoyao Ford, and the famous hundred-man night raid at Ruxukou. Romance of the Three Kingdoms kills him by an arrow of Shamoke (沙摩柯, Sa Ma Kha) at Yiling while he is ill; the Sanguozhi records only that he died of illness and that Sun Quan mourned him.
Contents
Biography & Historical Record
The Wu Shu notes that his ancestors came from Nanyang and settled in Ba. As a young man he briefly held a commandery accounting post, then resigned. He gathered light youths, wore feathers and bells, and raided by land and water; people knew him by the bells, and later tradition called him the Jinfan pirate because his boats used brocade for hawsers and sails. He treated generous officials as friends and plundered those who slighted him. After he was past twenty he stopped marauding, read the philosophers, and looked for a lord.
When Liu Yan (刘焉, Lưu Yên) died in 194, Gan Ning joined a failed rising against Liu Zhang (刘璋, Lưu Chương) and fled into Jing. He brought some eight hundred men to Liu Biao and was stationed in Nanyang. Liu Biao was a scholar-governor, not a soldier; Gan Ning judged Jing unsafe and tried to go east to the Sun, but war on the Jiangxia frontier blocked the road. He therefore served Huang Zu at Xiakou for about three years and was treated as an ordinary follower.
In 203 Sun Quan attacked Jiangxia. Huang Zu fled; Gan Ning, a skilled archer covering the rear, shot and killed Ling Cao, saving Huang Zu. The administrator still refused to promote him and even tried to peel away his retainers. Su Fei, Huang Zu’s area commander, recommended him in vain, then had him posted as chief of Zhu County so he could slip across the border. Zhou Yu (周瑜, Chu Du) and Lu Meng (吕蒙, Lữ Mông) recommended him to Sun Quan, who received him like an old minister.
Gan Ning urged an immediate strike on aging, unpopular Huang Zu before Cao Cao (曹操, Tào Tháo) took Jing. Zhang Zhao (张昭, Trương Chiêu) objected that Wu was not yet settled; Gan Ning rebuked him for failing a Xiao He–style rear watch. Sun Quan toasted Xingba and gave him the year’s campaign. In spring 208 Wu took Jiangxia and captured Huang Zu. Gan Ning, who owed Su Fei his life, kowtowed until his face bled and offered his own head if Su Fei fled; Sun Quan pardoned the prisoner. Gan Ning was then stationed at Dangkou.
In the winter of 208–209 he fought under Zhou Yu at Wulin in the Red Cliffs campaign and in the follow-up against Cao Ren at Nan Commandery. He proposed a dash on Yiling (夷陵, Di Lăng), took the town with a few hundred men, and held it when Cao Ren sent five or six thousand to rain arrows from towers. He remained calm, asked Zhou Yu for help, and was relieved by a plan of Lu Meng’s while Ling Tong (凌统, Lăng Thống) held the main camp. Cao Ren later abandoned Jiangling.
In 215, during the Jing partition quarrel, Gan Ning joined Lu Su (鲁肃, Lỗ Túc) at Yiyang. Guan Yu (关羽, Quan Vũ) threatened a night crossing at the upstream shallows. Gan Ning, then with only three hundred men, asked for five hundred more and vowed Guan Yu would not dare the water. Lu Su gave him a thousand; he moved by night. Guan Yu camped and did not cross — the place was later called Guan Yu’s Shallows (关羽濑). Sun Quan made Gan Ning Administrator of Xiling, over Yangxin and Xiazhi.
That same year he was storming supervisor at Wan County (皖): first up the wall with a chain, he helped take Zhu Guang (朱光, Chu Quang). Lu Meng took first credit, Gan Ning second, and he was named General Who Breaks and Charges (折冲将军). At Hefei, after plague forced a withdrawal, Sun Quan lingered at Xiaoyao Ford with about a thousand men — Lu Meng, Jiang Qin (蒋钦, Tưởng Khâm), Ling Tong, and Gan Ning. Zhang Liao (张辽, Trương Liêu) struck. Gan Ning shot from the line, shouted for the drums, and Sun Quan escaped with heavy loss.
In 217 Cao Cao came to Ruxu (濡须, Nhu Tu) in great force. Gan Ning, vanguard commander, picked a hundred men for a night raid. After wine in a silver bowl — he drew his sword when an officer hesitated — they went out at the second watch, tore abatis, killed dozens, and were back before Cao’s camp blazed with torches. Sun Quan said Cao Cao had Zhang Liao and he had Xingba. This Ruxu raid is the historical hundred-man exploit; the novel places the same raid at Ruxu in Chapter 68 after the Hefei shock, and later tradition often mislabels it a Hefei cavalry dash.
Chen Shou judged him rough and fond of killing, yet open, generous to fighting men, and capable of plans. Ling Tong never forgave the death of Ling Cao; Sun Quan forbade vengeance and once moved Gan Ning to Banzhou after a sword-and-halberd dance at Lu Meng’s house. A kitchen servant who fled to Lu Meng was later tied to a tree and shot by Gan Ning; Lu Meng’s mother stopped her son from attacking, and the two feasted in reconciliation. When Gan Ning died, Sun Quan “deeply lamented” him. The chronicle gives no killer and no firm year: the Jiankang Shilu places death in winter 215–216 (hard to square with a 217 Ruxu raid); Rafe de Crespigny estimates about 220. The novel’s Shamoke arrow at Yiling is fiction.
Role in Romance of the Three Kingdoms
Chapter 38 (Zhuge Liang Plans for the Three Kingdoms; Sun Quan Attacks Xiakou to Take Revenge): The novel first paints Gan Ning as the Jinfan / bell-and-feather raider who, after unread years under Liu Biao and Huang Zu, shoots Ling Cao dead at Xiakou. Su Fei and Lu Meng open a path to Sun Quan. Xingba then plans Huang Zu’s destruction, cuts hawsers with light boats, kills Deng Long (邓龙, Đặng Long), and — racing Cheng Pu (程普, Trình Phổ) — shoots fleeing Huang Zu and takes the head (novel only; history does not name him as Huang Zu’s slayer). At the victory banquet he weeps Su Fei free. Ling Tong draws on him for Ling Cao; Sun Quan separates them and posts Gan Ning to Xiakou.
Chapter 49 (On the Seven-Star Altar, Zhuge Sacrifices to the Wind; At the Three Rivers, Zhou Yu Lets Loose the Fire): In Zhou Yu’s navy he is among the officers used in the false-defector play with Kan Ze (阚泽, Khám Trạch). He takes the pretended Cao officer Cai Zhong (蔡中, Thái Trung) along the south bank toward the Black Forest stores, kills Cai Zhong once inside, and lights the signal as the fire attack begins — the river-raider turned Wu vanguard at Red Cliffs.
Chapter 51 (Cao Ren Fights the Southland; Zhuge Liang Angers Zhou Yu): After Wulin he urges the Yiling dash, holds the town under Cao Ren’s towers, and is relieved by Zhou Yu and Lu Meng while Ling Tong guards the main position — the same Yiling defense recorded in the Wu biography, staged here as part of the Jiangling war.
Chapter 67 (Cao Cao Conquers Hanzhong; Zhang Liao Overawes Xiaoyao Ford): At Wan he climbs first with an iron chain and pulls down Zhu Guang. Ling Tong’s old feud flares at the feast; Lu Meng steps between sword and paired ji until Sun Quan arrives. In the Hefei advance Gan Ning duels Yue Jin (乐进, Nhạc Tiến); Zhang Liao and Li Dian (李典, Lý Điển) spring an ambush. Ling Tong holds the rear until Gan Ning and Lu Meng come up — the Xiaoyaojin disaster, with Gan Ning as covering archer rather than as leader of a hundred-horse raid.
Chapter 68 (Gan Ning’s Hundred Horsemen Raid the Northern Camp; Zuo Ci’s Flung-Down Cup Fools Cao Cao): At Ruxu, after Cao Cao’s relief host arrives, Gan Ning mocks Ling Tong’s request for three thousand and later takes one hundred veterans, goose-plumes in their caps, through Cao’s abatis. Not a man or horse is lost. Sun Quan matches him with Zhang Liao. In the same chapter he shoots Yue Jin off Ling Tong and the blood feud ends in sworn comradeship — novel reconciliation; history keeps Ling Tong’s grudge and official separation, not this arrow-rescue.
Chapter 83 (Fighting at Xiaoting, the First Ruler Captures His Foe): Ill at the Yiling / Xiaoting front against Liu Bei (刘备, Lưu Bị), Gan Ning still rides out. Shamoke’s Wuling force meets him; an arrow strikes his skull. He reaches Fuchikou, sits under a great tree, and dies as crows gather. The novel dates this about 218 and age forty-three. History has no Shamoke, no Yiling death, and no such year — only illness and Sun Quan’s grief.
Gan Ning (甘宁, Cam Ninh) — Historical & Literary Timeline
c. late 160s–194
Jinfan youth and flight from Yi
Linjiang strongman with bells and brocade sails; after Liu Yan’s death, fails against Liu Zhang and flees to Jing.
c. 194–203
Liu Biao, then Huang Zu
Unused by Liu Biao; three cold years under Huang Zu at Jiangxia. Novel Ch.38 opens this frustration.
203 AD — Xiakou
Kills Ling Cao
Rear-guard arrow saves Huang Zu and makes a lifelong enemy of Ling Tong. Still no promotion.
c. 207–208
Su Fei, Wu, Jiangxia
Zhu County escape; Zhou Yu and Lu Meng recommend him. 208: Jiangxia falls; Su Fei pardoned at his plea. Novel Ch.38 also has him slay Huang Zu.
208–209
Red Cliffs and Yiling
Wulin under Zhou Yu; holds Yiling against Cao Ren until Lu Meng’s relief. Novel Ch.49–51.
215 AD
Shallows, Wan, Xiaoyao Ford
Checks Guan Yu at the Yiyang shallows; second credit at Wan; covers Sun Quan when Zhang Liao hits Xiaoyaojin. Novel Ch.67.
217 AD — Ruxu
Hundred-man night raid
Historical and novel (Ch.68) raid on Cao Cao’s camp; Sun Quan: Zhang Liao vs Xingba. Not the Hefei battle of 215.
c. 215–222
Death — illness, not Shamoke
SGZ: died of illness; Sun Quan lamented. Novel Ch.83: Shamoke’s arrow at Yiling while ill. Year uncertain (Shilu 215/16 vs de Crespigny c. 220).
Further reading: Gan Ning on Wikipedia.
Key Relationships
Family
- No father, mother, or spouse is named in Romance or in Gan Ning’s Sanguozhi biography. Distant Qin ancestor Gan Mao (甘茂, Cam Mậu) appears only in later Jin Shu genealogy of Gan Zhuo — not in the novel.
- Gan Gui (甘瓌, Cam Quỳ) — Historical son (SGZ Wu 55): exiled to Kuaiji for a crime and died soon after; that line ends. No WordPress post; not in the novel.
- Gan Shu (甘述, Cam Thuật) — Another son in Jin Shu (ancestor of Jin general Gan Zhuo), said to have been a Wu Master of Writing. Later genealogy, not Romance. (No site post.)
Friends
- Su Fei (苏飞, Tô Phi) — Jiangxia patron who recommended him, opened the Zhu County escape, and was spared when Gan Ning offered his own head (history and Ch.38).
- Zhou Yu (周瑜, Chu Du) — With Lu Meng, recommended him to Sun Quan; commanded him at Red Cliffs and relieved Yiling.
- Lu Meng (吕蒙, Lữ Mông) — Patron, banquet mediator, Wan colleague, and — after the kitchen-servant killing — reconciled through his mother’s intervention (history). Novel: brings Gan Ning to Sun Quan (Ch.38) and parts the sword-dance (Ch.67).
- Sun Quan (孙权, Tôn Quyền) — Lord who treated him as an old friend, toasted the Jiangxia war, and paired him with Zhang Liao after Ruxu.
- Ling Tong (凌统, Lăng Thống) — Novel Ch.68: sworn friend after the Yue Jin shot. History: never fully reconciled; Sun Quan kept them apart.
Enemies
- Huang Zu (黄祖, Hoàng Tổ) — Cold master at Jiangxia; novel Ch.38 has Gan Ning take his head. History: Gan Ning left him and helped destroy him in 208 without a named personal kill.
- Ling Cao (凌操, Lăng Thao) — Killed by Gan Ning’s arrow at Xiakou (203) — the root of the Ling Tong feud in both sources.
- Cao Cao (曹操, Tào Tháo) — Opponent at Red Cliffs, Jiangling, Hefei, and the Ruxu night raid.
- Zhang Liao (张辽, Trương Liêu) — Xiaoyaojin attacker; the man Sun Quan set Xingba against as a peer.
- Cao Ren (曹仁, Tào Nhân) — Besieged Gan Ning at Yiling after Red Cliffs.
- Shamoke (沙摩柯, Sa Ma Kha) — Novel only (Ch.83): Wuling king whose arrow kills the sick Gan Ning at Yiling. History: no such death.
Other
- Liu Biao (刘表, Lưu Biểu) — First Jing patron; unused because he was a civil governor.
- Lu Su (鲁肃, Lỗ Túc) — Gave him a thousand men at Yiyang; Guan Yu’s Shallows (215).
- Zhang Zhao (张昭, Trương Chiêu) — Opposed the Jiangxia strike; rebuked by Gan Ning before Sun Quan’s toast.
- Guan Yu (关羽, Quan Vũ) — Did not cross when Gan Ning moved to the shallows; later Jing rival of Wu.
- Cheng Pu (程普, Trình Phổ) — Novel Ch.38: rival pursuer when Gan Ning shoots Huang Zu.
- Yue Jin (乐进, Nhạc Tiến) / Li Dian (李典, Lý Điển) — Hefei and Ruxu opponents; novel Ch.68 has Gan Ning wound Yue Jin to save Ling Tong.
- Zhou Tai (周泰, Chu Thái) — Novel Ch.68: sent to support the hundred-man raid; not needed.
- Lu Meng’s mother — Historical peacemaker after Gan Ning killed the kitchen servant (plain text; no post).
In Novel
Chapter 38
- Gan Ning (甘宁, Cam Ninh), courtesy Xingba (兴霸, Hưng Bá): Introduced as the Jinfan / bell-and-feather Yangtze raider who served Liu Biao (刘表, Lưu Biểu) then Huang Zu (黄祖, Hoàng Tổ) without rank. At Xiakou he shoots Ling Cao (凌操, Lăng Thao) dead. Su Fei (苏飞, Tô Phi) and Lu Meng (吕蒙, Lữ Mông) open his path to Sun Quan (孙权, Tôn Quyền). He plans Huang Zu’s fall, cuts the Jiangxia hawsers, kills Deng Long (邓龙, Đặng Long), and — racing Cheng Pu (程普, Trình Phổ) — shoots fleeing Huang Zu and takes the head (novel only). He weeps Su Fei off the execution list. Ling Tong (凌统, Lăng Thống) draws on him at the banquet; Sun Quan posts him to Xiakou.
Chapter 49
- Gan Ning (甘宁, Cam Ninh): In Zhou Yu (周瑜, Chu Du)’s Red Cliffs navy he takes part in the false-defector design with Kan Ze (阚泽, Khám Trạch), escorts pretended Cao officer Cai Zhong (蔡中, Thái Trung) toward the Black Forest stores, kills Cai Zhong inside the lines, and lights the fire-attack signal.
Chapter 51
- Gan Ning (甘宁, Cam Ninh): After Wulin he seizes Yiling (夷陵, Di Lăng) with a thin garrison, holds it under Cao Ren (曹仁, Tào Nhân)’s arrow-towers, and is relieved by Zhou Yu and Lu Meng while Ling Tong holds the main camp.
Chapter 67
- Gan Ning (甘宁, Cam Ninh): First up the wall at Wan with an iron chain; helps take Zhu Guang (朱光, Chu Quang). Ling Tong’s feud explodes at the feast (sword vs paired ji); Lu Meng stands between them. In the Hefei push he duels Yue Jin (乐进, Nhạc Tiến); Zhang Liao (张辽, Trương Liêu) and Li Dian (李典, Lý Điển) ambush Sun Quan; Ling Tong holds until Gan Ning and Lu Meng arrive — covering fight at Xiaoyaojin, not the hundred-rider raid.
Chapter 68
- Gan Ning (甘宁, Cam Ninh): At Ruxu he asks for one hundred horse, feasts them on silver-bowl wine, sticks goose-plumes in their caps, and raids Cao Cao (曹操, Tào Tháo)’s camp without losing a man. Sun Quan: Cao Cao has Zhang Liao, I have Xingba. Later he shoots Yue Jin and saves Ling Tong; the two swear friendship (novel reconciliation). Zhou Tai (周泰, Chu Thái) is sent as backup and is not needed.
Chapter 83
- Gan Ning (甘宁, Cam Ninh): Ill on the Yiling / Xiaoting front against Liu Bei (刘备, Lưu Bị), he still rides out. Shamoke (沙摩柯, Sa Ma Kha) shoots him in the head; he reaches Fuchikou, sits under a tree, and dies as crows gather. Novel dates this c. 218, age 43 — literary chronology, not the historical illness death.
In History
Summary
- Gan Ning (甘宁, Cam Ninh), courtesy Xingba (兴霸, Hưng Bá), was a Linjiang (Ba Commandery) general of Sun Quan (孙权, Tôn Quyền). Youth: youxia / Jinfan-style river raider with bells and feathers. After a failed rising against Liu Zhang (刘璋, Lưu Chương) he served Liu Biao (刘表, Lưu Biểu) then Huang Zu (黄祖, Hoàng Tổ), who did not use him. He killed Ling Cao (凌操, Lăng Thao) at Xiakou (203), defected with Su Fei (苏飞, Tô Phi)’s help, and was recommended by Zhou Yu (周瑜, Chu Du) and Lu Meng (吕蒙, Lữ Mông).
Year: 203 AD
- Battle of Xiakou: rear-guard archer; kills Ling Cao and saves Huang Zu. Still denied rank. Su Fei later posts him to Zhu County so he can reach Wu.
Year: 208 AD
- Urges the Jiangxia campaign over Zhang Zhao (张昭, Trương Chiêu)’s objection. Wu captures Huang Zu. Gan Ning begs Sun Quan to spare Su Fei, offering his own head as surety. Stationed at Dangkou. Winter 208–209: Wulin (Red Cliffs) under Zhou Yu; takes and holds Yiling against Cao Ren (曹仁, Tào Nhân) until Lu Meng’s relief, with Ling Tong (凌统, Lăng Thống) holding the main camp.
Year: 215 AD
- With Lu Su (鲁肃, Lỗ Túc) at Yiyang: night move to the shallows stops Guan Yu (关羽, Quan Vũ) from crossing (关羽濑). Made Administrator of Xiling. Storming supervisor at Wan; second credit after Lu Meng for taking Zhu Guang (朱光, Chu Quang); General Who Breaks and Charges. At Xiaoyao Ford, after plague withdrawal, covers Sun Quan with bow and drums when Zhang Liao (张辽, Trương Liêu) attacks.
Year: 217 AD
- Ruxu (濡须): vanguard; hundred-man night raid on Cao Cao (曹操, Tào Tháo)’s camp (SGZ + Jiang Biao Zhuan). Sun Quan: “Mengde has Zhang Liao; I have Xingba.” This is the historical hundred-man exploit — not the 215 Hefei battle.
Year: death (uncertain)
- SGZ: “Ning died; [Sun] Quan deeply lamented him.” No arrow, no Shamoke, no Yiling field death. Jiankang Shilu winter 215–216 is probably too early if the 217 raid is accepted. de Crespigny: c. 220. Range often given c. 215–222.
Family (historical)
- Son Gan Gui (甘瓌, Cam Quỳ): exiled to Kuaiji for a crime, died soon (SGZ). Jin Shu names another son Gan Shu (甘述) in the ancestry of Jin’s Gan Zhuo — later genealogy, not Chen Shou’s main notice.
Historical Record
- Sanguozhi Wu, vol. 55, biography of Gan Ning (甘宁传), Chen Shou: origin, Wu career, Yiling, shallows, Wan, Hefei, Ruxu, death by illness, son Gan Gui, character judgment (rough yet generous and able).
- Pei Songzhi annotations: Wu Shu (Jinfan/bells, Xiakou and Ling Cao, Su Fei’s Zhu County plan and pardon plea, Ling Tong sword-dance at Lu Meng’s house, Banzhou transfer); Jiang Biao Zhuan (Ruxu 100-man raid, silk and swords, Zhang Liao / Xingba remark); Yingxiong Ji (revolt vs Liu Zhang after Liu Yan’s death, flight to Jing).
- Zizhi Tongjian notices of the Jiangxia, Red Cliffs, Hefei, and Ruxu campaigns. Jiankang Shilu 1 (death date — use with caution). de Crespigny, Biographical Dictionary, s.v. Gan Ning.
- Novel vs history: personal slaying of Huang Zu, Shamoke arrow at Yiling, and the Ling Tong arrow-rescue / sworn friendship are Romance (esp. Ch.38, 68, 83). The hundred-man raid is historical at Ruxu (217), dramatized in Ch.68; do not relocate it to Hefei 215.

















