建安十六年(211年),刘备接受益州牧刘璋的邀请,率领大军入川,为刘璋镇守葭萌关。益州别驾张松和军议校尉法正多次劝说刘备谋取益州,但刘备犹豫不决。次年,张松被兄长张肃告发,遭到捕杀。刘备因此与刘璋反目成仇,一举攻占白水关,然后起兵向南,一路攻克涪(fú)县、绵竹、雒(luò)城,最终于建安十九年(214年)入主成都。至此,刘备仅仅花了七年时间,就实现了诸葛亮在“隆中对”中所说的“跨有荆益”。
建安二十三年(218年),刘备起兵攻打汉中,在阳平关与夏侯渊、张郃对战。次年春,刘备的大军自阳平关南渡沔(miǎn)水,沿山前行,扎下大营。夏侯渊带兵前来,被老将黄忠斩杀。曹操闻讯大怒,再次提兵亲征。刘备微笑着对众将说:“曹操这次来,是不可能有什么作为的。我一定会打败他而占有汉中。”此后一连数月,刘备据险以守,曹操始终被动挨打,进退失据,只得撤军,让刘备如愿占有了汉中。
建安二十四年(219年)七月,刘备在沔阳登坛称汉中王,立长子刘禅为世子,又升任魏延为镇远将军和汉中太守,把镇守汉中的重任托付给他。而后,刘备回到成都,任用许靖为太傅、法正为尚书令、关羽为前将军、张飞为右将军、马超为左将军、黄忠为后将军。
不久,关羽从荆州起兵北伐,攻打驻守在樊城的曹仁。曹仁急忙调遣于禁和庞德等人屯驻到樊城以北,相互支援。八月,汉水出现洪汛,关羽趁势水淹七军,擒拿了于禁,斩杀了庞德。一时之间,刘备和关羽的威势都到达了极盛。消息传到许都、邺城和长安,闻者无不吃惊。