? 建安六年五月,刘琦率南阳兵七千屯兵房陵,刘备命关羽驻守宛城,带张飞赵云两员大将率军二千随刘琦驻扎房陵。黄祖派遣侄子黄岩带兵三千前往房陵,刘表征召长沙黄忠带兵两千赶往房陵,南郡太守抽四千士兵前往房陵。另外从武陵、零陵和桂阳三郡各抽取士兵两千调往房陵。为攻取汉中,荆州军出动两万人马聚集房陵。其中参战将领有刘琦、刘备、马鸿、张飞、赵云、甘宁、魏延、黄忠、李严、魏延、黄岩。
刘表以刘琦为帅,马鸿为军师,刘备为先锋大将。刘琦以李严和黄岩为粮草官,负责押运粮草。马鸿令李严和黄岩率军两千先行上庸,沿路修建粮仓,将粮草分点布置。由于士兵是从各个郡抽出的,马鸿建议先训练一月,再进攻汉中。
五月,张鲁之弟张卫正率军与益州巴西太守庞羲对峙与剑阁。刘璋派遣吴懿为主将,和张任严颜带兵一万渡过垫江内水进攻汉中。
六月,先锋大将刘备带张飞赵云率军六千抵达上庸。三日破上庸城,再至西城县,刘琦率中军,乘船百艘沿汉水而上。
张鲁听闻荆州以刘备为先锋进攻汉中,派遣大将杨任杨昂带兵八千阻击刘备,并下令张卫从剑阁撤回增援汉中。杨任杨昂在西城县东被刘备军击败,弃掉难以驻守