建安五年(200年),赵韪发动叛乱,蜀地多处响应,幸得刘焉之前收容荆州、三辅流民建立的“东州兵”拼力死战,才平息了叛乱,杀赵韪于江州。刘璋为人懦弱,原本依附于刘焉的汉中张鲁骄纵,不听刘璋号令,于是刘璋杀张鲁母弟,双方成为仇敌,刘璋派庞羲攻击张鲁,但多次被张鲁所破。建安十三年(208年),曹操亲自率兵征讨荆州,刘璋于是派出使者致以敬意。曹操加封刘璋为振威将军,封其兄刘瑁为平寇将军。刘璋因此派别驾从事张松到曹操那裹,但曹操没有按礼节接待。张松心怀怀恨,回来后劝说刘璋同曹操断绝关系,他对刘璋说:“刘豫州与您为宗室兄弟,可以与他结交联盟。”刘璋皆以为是,故派法正前往与刘备结好联盟,随即又指示法正和孟达送去数千兵卒帮刘备抵御曹军,法正完成使命归还。建安十六年(211年),刘璋听说曹操将派兵到汉中征讨张鲁,心中恐惧,张松又劝说刘璋:“现在州中将领庞羲、李异等人都居功自傲,且心怀异志,如不能得到刘豫州的帮助,益州将外有强敌攻击,内遭乱民骚扰,必定走向败亡。”刘璋又听从了张松之言,立刻派法正率部队迎接刘备。刘璋的主簿巴西人黄权劝阻说:“刘备有骁勇的名声,现在要是以部下的身份对待他,就没法满足他的心愿;要是以宾客的身份对待他,一国不容二主,造不是使自己安全的办法。”从事广汉人王累将自己倒吊在益州城门上劝阻刘璋,刘璋全都不予采纳。刘备从江陵率军赶到涪城,刘璋率领步、骑兵三万多人,车驾幔帐,光耀夺目,前往与刘备相会;刘备所率将士依次前迎,大家欢聚宴饮百余日。刘璋以大批物资供助刘备,让他去讨伐张鲁,然后两人告别。