然而天下没有好人,刘备进了益州之后能否听自己的命令呢?这一层,刘璋却没有打算到。张松、法正等都是些倾危之士,不恤卖主求荣的,就劝刘备夺取益州。刘备听了,正中下怀,便随法正入川。刘璋自到涪县(今四川绵阳县)和他相见。添给他许多兵马,还给了许多粮饷财帛,使他督率白水关(在四川昭化县西北)的兵北攻张鲁。刘备此时,共有兵马三万,他却不攻张鲁,住在葭萌县地方(在四川昭化县东南),大施恩惠,以收人心。当刘备和刘璋在涪县相会时,张松、法正和刘备手下的庞统,都劝他就在会上袭取刘璋。这样事出仓卒,川中的军民如何会服呢?所以刘备不听他们。
曹操想西攻张鲁,还没有进兵,却因此引起了韩遂、马超等的反叛。曹操亲自西征,虽然把他打破了,然而进攻张鲁之事,却亦因此而未能实行。
到建安十七年(212)十月,曹操又自己带兵去攻孙权。刘备就对刘璋说:孙权差人来求救,我和他本来是互相唇齿的,不得不去救。况且关羽正在和乐进相持,倘使不去救,关羽败了,益州一方面也是要受到骚扰的。张鲁是只会自守,不足为虑的。请刘璋再借一万名兵,和军资器械,要想东还。刘璋给了他四千名兵,其余的东西都减半发给。这在刘备,不过是借端需索,原未必真个东还,张松听得,却发急了,写封信给刘备,说大事垂成,何可舍之而去?张松的哥哥张肃,见他如此私通外敌,怕他连累于己,便把他举发了。刘璋便收斩张松。发命令给各关的守将,叫他们不得再和刘备往来。