百多日后，刘璋给予刘备军队和大量物资，命他督白水军并攻击张鲁。于是刘备率领三万多人北上，但停在葭萌，收买民心。建安十七年（212年）十二月，庞统向刘备献计，上计为轻兵袭取成都，一举定蜀；中计为诱骗并捕掳杨怀和高沛，吞併他们的军队并且攻打成都；下计为退守白帝城，引荆州军队攻取蜀地。刘备听从中计。此时正值曹操南征孙权（濡须口之战前夕），孙权向刘备求救，刘备借口向刘璋要求增加一万兵及军需品，但刘璋只给四千兵及要求的一半军需，刘备因而向部众称刘璋吝惜财富，不顾士兵生死。同时张松兄长张肃发现张松意图迎立刘备，担心会危