Battle of Puyang

The Battle of Puyang occurred in 194 AD when Cao Cao and his army attempted to recapture Yan Province from the warlord Lu Bu, who had conquered the province on the orders of Zhang Miao. The battle saw Cao Cao's strategist Guo Jia and Lu Bu's strategist Chen Gong mastermind a series of ploys against each other, and Dian Wei distinguished himself by saving Cao Cao's life on multiple occasions. Ultimately, the onset of a famine led to the cessation of fighting.

Background
After the fall of Chang'an to Dong Zhuo's former generals Li Jue and Guo Si, Lu Bu fled to Yuan Shu's court, but Yuan Shu refused to accept the wild Lu Bu into his service. Lu Bu also served Yuan Shao during his war with Zhang Yan, but Yuan Shao considered putting Lu Bu to death due to his arrogance; to avoid this, Lu Bu fled to Zhang Yang at Shangdang. Pang Shu helped Lu Bu's family flee Chang'an before Li Jue and Guo Si executed him and asked Zhang Yang to kill Lu Bu, so Lu Bu was forced to flee again, this time to Zhang Miao, the Governor of Chenliu. Lu Bu's strategist Chen Gong persuaded Zhang Miao that Yan Province governor Cao Cao's absence during the Battle of Xu Province posed a unique opportunity for Zhang Miao to achieve his independence from Cao Cao. Zhang Miao gave permission for Lu Bu to attack Yan Province, and he defeated Cao Cao's cousin Cao Ren several times and took Yanzhou, although Xun Yu and Cheng Yu successfully defended Juancheng, Fanxia, and Dongjun. Cao Cao was forced to make peace with his rival Tao Qian in order to return to Yan Province to deal with Lu Bu's threat.

Battle
Upon hearing of Cao Cao's impending return, Lu Bu sent his generals Xue Lan and Li Fang to hold Yanzhou at all costs as he marched to Puyang to achieve an ox-horn vantage against Cao Cao's returning army. Lu Bu ignored Chen Gong's misgivings about his choice of commanders and insisted on continuing his plan. Cao Cao's strategist Guo Jia suspected that Lu Bu planned to ambush his army near the Taishan Mountains, but Cao Cao laughed off Guo Jia's advice and told Cao Ren to besiege Yanzhou as he hastened to Puyang.

The battle began when Lu Bu sent out Zang Ba to fight Cao Cao's general Yu Jin, and their fight was inconclusive. Xiahou Dun then charged into battle with Zhang Liao, and the four generals fought each other. Lu Bu then charged into battle, causing Cao Cao's officers to retreat. Cao Cao's army withdrew for ten miles, and, that night, he sent his generals Cao Hong, Li Dian, Mao Jie, Lu Qian, Yu Jin, and Dian Wei with 20,000 troops to launch a surprise attack on the hill at Puyang, which he expected to be unguarded. Chen Gong advised Lu Bu to station Gao Shun, Wei Xu, and Hou Cheng on the hill in case of a surprise attack, and, in a battle at dusk, Cao Cao's army was unable to break through Lu Bu's defenses, retreating after hearing that Lu Bu himself was about to enter the battle. Lu Bu blocked Cao Cao's escape route as Gao Shun, Wei Xu, and Hou Cheng pursued Cao Cao's army, and Zhang Liao and Zang Ba defeated Lu Qian and Cao Hong as they attempted to hold off their third force. Cao Cao attempted to retreat to the west, but his army was then attacked by Lu Bu's generals Hao Meng, Cao Xing, Cheng Lian, and Song Xian. Dian Wei rushed in to save Cao Cao as arrows fell upon his army like rain, but Lu Bu himself gave chase to Cao Cao. Xiahou Dun then arrived to check the pursuers, fighting with Lu Bu until dusk.

Chen Gong devised a strategy to lure Cao Cao back into battle, under which a member of the wealthy Tian family would approach Cao Cao with the fake news that only Gao Shun was left to guard Yanzhou as unrest against Lu Bu was brewing. Cao Cao read the secret letter and believed that heaven would grant him Puyang, and he sent Dian Wei to pursue Gao Shun and Hou Cheng into the city of Puyang. Cao Cao, Xiahou Yuan, and Li Dian marched into Puyang as Xiahou Dun marched to the left and Cao Hong to the right, but Cao Cao noticed that Puyang was deserted and realized that he had been tricked. From two sides, Zhang Liao and Zang Ba's forces ambushed Cao Cao's force, and Hao Meng and Cao Xing blocked the north gate, while Gao Shun and Hou Cheng blocked the south gate. Dian Wei then rushed in and rescued Cao Cao from a fire attack, and Cao Cao escaped atop Xiahou Yuan's horse. Cao Cao decided to set a trap for Lu Bu, pretending that he had died in the fire, and instead waiting in ambush at the Maling Hills.

Lu Bu heard of Cao Cao's "death" and marched on Cao Cao's main camp through the Maling Hills, but he was ambushed and his force was heavily diminished, forcing him to flee back to Puyang. As locusts set in and a famine broke out, Cao Cao marched his army to Juancheng, while Lu Bu retreated to Shanyang, and the fighting ceased.