By October 218, Cao Cao moved from Ye city to Chang'an near Hanzhong Commandery to direct the defence against Liu Bei, but had been held up by internal problems including a major coup d'état and some local uprisings. In the meantime, Liu Bei and Xiahou Yuan had been locked in a stalemate for a year. In December 218, to break the deadlock, Liu Bei crossed the Mian River () south of Yangping Pass and advanced towards Hanzhong Commandery through the mountains. Liu Bei's army set up camp at Mount Dingjun. In response, Xiahou Yuan and Zhang He led their forces out in an attempt to take control of higher ground, and they made camp at Zouma Valley (). During the night, Liu Bei followed Huang Quan's plan and set fire to the enemy camp fences. Xiahou Yuan led a force to defend the southern flank while sending Zhang He to guard the eastern side. Liu Bei launched a direct assault on Zhang He and Zhang started to falter, so Xiahou Yuan despatched half of his forces to support Zhang. At this point, Fa Zheng told Liu Bei that it was an opportune time to attack. Liu Bei ordered his men to shout loudly and beat the drums, and sent Huang Zhong to charge at the enemy. The mettlesome soldiers of Huang Zhong broke through the enemy lines and slew Xiahou Yuan and Zhao Yong, while Zhang He fled with his surviving troops to north of the Han River, where they set up a camp.