建安十七年刘备受刘璋之邀,入西川帮助刘璋抵御张鲁,与关羽、赵云、诸葛亮等共守荆州。
东吴得知刘备入川,派遣大船迎接孙夫人回吴,孙夫人趁机将刘禅一同带走,得知后,与赵云一起截住孙夫人,夺回刘禅,放孙夫人归吴。
公元213年(建安十八年)刘备与刘璋决裂,军师庞统中流矢身亡。与诸葛亮、赵云等领荆州兵入川增援。
大军到达江州,江州守将严颜据守不降,将其攻破,占领江州,并生擒严颜,因严颜拒降的豪气感动了张飞,将其释放,并将其引为上宾。
公元214年(建安十九年)等攻破江州后,与诸葛亮、赵云兵分三路扫荡西川,赵云平定江阳、犍为等郡,平定巴郡、巴西两郡。
五月兵至成都,与刘备会合,刘璋投降。刘备平定益州后,赐黄金五百斤,银千斤,钱五千万,锦缎千匹。并任命为巴西太守。
公元215年曹操击败汉中张鲁,张鲁逃入巴西,刘备听说后派黄权前往迎接,但张鲁随后向曹操投降。
张鲁投降后,曹操因后方叛乱而回师,一方面留夏侯渊镇守汉中,另一方面命令张郃进犯巴西,数次进犯巴西郡的边界。
张郃欲把巴西郡居民迁徙到汉中,进兵至宕渠、蒙头、荡石等县,强迁百姓。刘备一方面自己亲自驻扎江州,另一方面令张飞驻扎阆中,进攻张郃。
率军与张郃相据五十余日。率领精兵一万余人从其他山道主动进攻宕渠的张郃,张郃率兵迎击,将张郃引到瓦口关,山道狭窄。
张郃军前后军不得救应,被张飞打得大败,张郃为了逃命,只得放弃战马攀山而逃,率领部下十余人逃到南郑。巴西郡自此获安。
公元218年(建安二十三年)与马超奉命攻打武都,并率领吴兰、雷铜兵临沮水,想要借此攻打武都、阴平两郡,但被曹休识破计谋。
最终被曹洪、曹休、曹真、张既等人联手击破,蜀军作战失利,吴兰、雷铜、任夔等将领先后战死。
公元219年(建安二十四年)黄忠于定军山斩杀夏侯渊。
三月,曹操亲提大军来争汉中,刘备据守,赵云又在汉水截取曹军粮草,五月,曹操撤出汉中,汉中为刘备所据有。
秋七月,刘备称汉中王,拜为右将军,假节。十二月,关羽被孙权所杀。
公元221年(章武元年)刘备称帝,被封为车骑将军,领司隶校尉,进封西乡侯。
同年六月,刘备为关羽报仇,出兵伐吴,让张飞从阆中出兵江州。
因为张飞敬爱君子但从不体恤士卒,刘备常常告诫张飞:“你经常鞭打健儿,但之后还让他们在你左右侍奉,这是取祸之道。”
果然,临出兵前,被其麾下将领张达﹑范强谋杀,并将张飞的首级去投奔孙权,军营都督送表给刘备,刘备听闻后不由得叹道:“噫!飞死矣。”
蜀汉后主追谥为桓侯。