余人弃马爬山逃回汉中。建安二十二年（217年），刘备进攻汉中，分遣张飞、平西将军马超、将军吴兰等攻取武都。曹操遣都护将军曹洪救援。张飞扬言要截断曹洪后路，骑都尉曹休指出此是疑兵之计，劝说曹洪立即进攻吴兰，即大败吴兰，张飞、马超退回汉中，吴兰被阴平氐人强端杀害。建安二十四年（219年），刘备在定军山与夏侯渊对峙，讨虏将军黄忠推锋必进，阵斩夏侯渊。魏王曹操自长安来援，刘备拒不出战，曹操将士逃亡日益增多，不得不放弃汉中。刘备随即在汉中自称大司马、汉中王，以关羽为前将军，假节钺；马超为左将军、张飞为右将军，