法正,自孝直,扶風郡郿縣人。他的祖父名叫法真,以清廉的節操聞名於世。漢建安初年,天下遭到了饑荒的威脅,法正和同郡的孟達一起入蜀,依附與益州牧劉璋。過了很長的時間才被任命為新都縣令,後來又被委托代理軍議校尉。本來已經得不到重用,有被他的同鄉誹謗,說法正沒有德行,所以他很不得誌。
益州別駕張鬆和法正是好朋友,認為劉璋沒有才能,跟隨他不會有所作為,經常暗自歎息。張鬆從荊州拜見曹操回來,勸劉璋斷絕和曹操的來往而和劉備結盟。劉璋問到:“誰可以做使者聯絡呢?”張鬆便舉薦了法正,起初法正推辭了一番,終於還是不得已而擔任了使者。法正從荊州回來,對張鬆誇讚說劉備用雄材偉略,秘密策劃,一起歸順劉備,但一直沒有機會。後來,劉璋聽說曹操要派遣大將征討張魯,有唇亡齒寒的感覺,內心非常恐懼。張鬆趁勢建議劉璋,應該迎接劉備來益州,讓他去討伐張魯,再次派法正擔任使者。法正來到荊州,表達了劉璋的心意,暗地裏向劉備獻計道:“以將軍您的英明之才,趁著劉璋的懦弱無能,正是您有所作為的時候。張鬆是益州的棟梁之臣,可以做您的內應。然後憑借著益州的殷實富裕和天然險阻,成就一番大事業,簡直易如反掌。”劉備認為法正說得對,於是沿著長江向西,和劉璋在涪城相會。聲稱去攻打張魯,向北到了葭萌關之後,掉頭向南攻打劉璋。
鄭度勸說劉璋驅趕百姓,堅壁清野,深溝高壘,劉備會不戰自退。劉備聽說了鄭度的建議很擔心,就去問法正,法正說道:“劉璋不會采用他的建議的,沒什麼可擔心的。”劉璋果然像法正所說的那樣,對他的下屬說道:“我聽說抵抗敵人是為了安定百姓,從沒聽說過驚動百姓來躲避敵人的。”於是,罷免了鄭度,沒有采用他的計策。
等到劉備的兵馬包圍雒城時,法正寫信給劉璋勸降,劉璋沒有答應。建安十九年,劉備進兵圍困成都,劉璋部下的蜀郡太守許靖打算翻過城牆投降劉備,被人發覺,沒有成功。劉璋認為,危亡已經近在眼前,所以也沒有殺掉許靖。在劉璋投降之後,劉備因為這件事很鄙視許靖,不想重用他。法正說道:“天下獲得虛名而其實沒有什麼才能的人很多,許靖就是其中一個。然而,主公剛剛開始創建大業,天下的人那麼多,不能一家一家的去說服,許靖的虛名傳播在四海之內,如果對他不加禮遇,天下的人都誰說主公輕賤賢士了。現在應該對他很敬重,讓遠近的人都看看,就像古時候燕王對待郭隗一樣。”於是,劉備便厚待許靖。
劉備入川之後,任命法正為蜀郡太守、揚威將軍,在外統治京畿之地,在內為劉備出謀劃策。曾經對他有過一頓飯的好處,或者有一點點的怨恨的人,沒有不報複的,擅自殺了幾個曾經誹謗過他的人。有人對諸葛亮說道:“法正做了蜀郡太守後橫行無忌,將軍應該啟奏主公,禁止他再作威作福。”亮回答道:“主公當初在公安郡的時候,北麵畏懼曹操的強大,東麵忌憚孫權勢力的逼迫,在身邊擔心孫夫人在內部製造禍患;在那時,進退不得,處境狼狽,法孝直成為輔佐主公的羽翼,使主公可以振翅翱翔,不必再受製於人,怎麼會禁止法正,讓他不能按照自己的意誌行事呢!”當初,孫權把自己的妹妹嫁給劉備做妻子,她才思敏捷,性格剛猛,有幾個兄長的風範,隨身侍婢一百多人,都手拿鋼刀侍立在旁邊,劉備每次進入內堂,心中常常感到惶惶不安。諸葛亮又知道劉備非常欣賞法正,所以說出了這番話。
建安二十二年,法正向劉備建議道:“曹操輕而易舉得降服了張魯,平定漢中,沒有借著良好的勢頭圖謀巴、蜀,而是派夏侯淵和張郃留守,自己回到北方。這不是因為他智謀不夠,力量不足,一定是內部出現禍患了。現在估計夏侯淵和張郃的才能,不足以擔當一國將帥,派大兵去討伐,就一定能夠勝利。攻克漢中之後,擴充農民積累糧食,觀察形勢尋找機會,上策可以打敗曹操,尊奉漢室朝廷,中策可以逐漸屯兵雍、涼二州,開拓疆土,下冊可以堅守要塞,做長久的計劃。這是上天送給我們的機會,不可錯過。”劉備認為法正的策略非常好,於是帶領眾將進兵漢中,法正也跟著一起去。二十四年,劉備從陽平向南度過沔水,靠近定軍山腳下紮下營寨。夏侯淵帶兵來爭奪這個地方。法正說道:“可以交戰了。”劉備命令黃忠居高臨下,敲著戰鼓衝殺,打敗夏侯淵的兵馬,夏侯淵也被斬首。曹操西征的時候,聽說了法正的策略,說道:“我就知道劉備辦不出這樣的事來,一定是有人教他的。”