百里奚為楚國人,是西周開基之祖古公亶父的二兒子虞仲的後人,奚是他的名字,因住在百里鄉,因此得名百里奚。雖然他也出自姬姓,但傳到百里奚時家道早已沒落。楚國宗法制度森嚴,百里奚儘管學富五車,才高八斗,但卻是個家境貧困的平民,因此沒有希望入仕為官。
百里奚的妻子杜氏是個識才之人,知道自己的丈夫只是懷才不遇,於是鼓勵百里奚出遊列國以求被明主賞識。百里奚家生活窘困,即將出遊列國時,妻子宰殺了家中唯一的一隻母雞,給丈夫餞行。
百里奚從楚國出遊後,曾到過宋國、齊國等國家,但是因為身無分文,又無人舉薦,因此一直沒被錄用,身上的盤纏也相繼耗盡。在齊國時,百里奚已經要靠乞討維持生計了,但是他一直沒有放棄自己求仕的目標。在齊國郅地乞討時,百里奚遇見了蹇叔。蹇叔見他談吐不凡,就收留了他,兩人相談甚歡,結為知己。後來,百里奚想到齊國的國君手下任職,幸好蹇叔阻止了他。否則後來齊國內亂,國君被殺,百里奚恐怕也會死於非命。百里奚周遊到周地時,聽說周王子喜歡養牛,百里奚就靠精湛的養牛技術引起了周王子的注意。周王子想任用他,這時又是蹇叔阻止了他,使他後來免於被誅殺。由此,百里奚覺得蹇叔的才能要高於自己。
後來,百里奚又來到虞國,在虞國當了個大夫。百里奚知道虞公不是那種知人善任的明主,但是他需要那份俸祿維持生計,於是就留在了虞公身邊。虞公貪財好利,收了晉國的寶馬美玉,答應借道路給晉國,去征討自己的鄰國虢國。百里奚苦言相勸,說這樣會危及虞國的安全,但虞公就是不聽,百里奚便閉口不言了。虞國大臣宮之奇繼續勸諫,最終虞公還是一意孤行,借路給晉國。晉國滅掉虢國後,果然把矛頭指向了虞國,滅掉了虞國。百里奚和虞君都成了晉國的俘虜。
晉獻公聽說百里奚很有才能,本想重用他,但百里奚卻說什麼也不肯答應。這時,秦穆公想要和晉國聯姻,壯大自己的實力,以達到稱霸中原的目的,於是向晉獻公求婚,晉獻公就把女兒穆姬嫁給他。百里奚拒絕為晉國效力,於是晉獻公就把他算做女兒穆姬的陪嫁奴隸,穆姬出嫁時,隨嫁到秦國。
百里奚不甘心做奴隸,在前往秦國的途中,逃回到楚國。在楚國邊境,楚兵把慌亂出逃的百里奚當成奸細抓了起來。百里奚就說自己是給虞國一戶有錢人家裡看牛的,虞國滅亡了,只好出來逃難。當時,百里奚已經是一個六七十歲的老人了,楚兵見他不像奸細,就把他留下來看牛。百里奚牧牛很有一手,因此把牛養得又肥又壯。後來,楚國的君主楚成王得知百里奚善於養牛,就把他召來為自己養牛。
秦穆公和穆姬大婚後,才知道陪嫁奴隸百里奚逃跑了,本沒有在意。但是,有個從晉國投奔到楚國的武士公孫枝說,百里奚是個難得一見的賢才。於是,秦穆公趕緊派人探尋百里奚的下落,一心想把他找回來。後來,終於打聽到百里奚在給楚成王養牛,就想用重金把他贖回來。
但是,公孫枝說,楚成王既然讓百里奚養牛,就表明他還沒有認識到百里奚是個賢才,如果這時秦國用重金去贖他,就等於是告訴楚王,秦國是想重用百里奚,他肯定是個人才,那時恐怕楚國就不會放他走了。接著,公孫枝出主意說,貴物賤買,把他當成一般的奴隸,用五張黑公羊皮贖回來,就能消除楚王的疑慮了。
於是,秦穆公派使者到楚,說秦國有個叫百里奚的奴隸在秦國犯了法,逃到了楚國,請求用五張羊皮將他贖回治罪。楚王見他不過值一個普通奴隸的價錢,想都沒想,就答應了秦國的要求,下令把百里奚裝上囚車,讓秦國使者帶回去。
當白髮蒼蒼的百里奚被押回秦國時,秦穆公親自迎接,並為他打開桎梏,對他以禮相待。秦穆公與他商談國事,百里奚則自稱亡國之臣,沒有發言權。穆公說,虞公不懂得如何用你,以致亡國,使你淪為奴隸,並不是你沒有才能,並堅持向百里奚討教國家大事。兩人接連談了三天,百里奚認為,秦國雖地處邊陲,但兵強馬壯,又佔據了險要的地勢,進可攻,退可守,因此應充分利用先天的優勢,伺機而動。穆公十分高興,在治國的問題上,與百里奚言無不合,於是要任命百里奚為上大夫(相當於相國),讓他掌管秦國的軍政大權。但是,百里奚辭讓不受,並把自己的好友蹇叔推薦給秦穆公。於是,秦穆公又用重禮把蹇叔迎到秦國來,封百里奚為左庶長,蹇叔為右庶長,稱為「二相」。
百里奚入秦,輔佐秦穆公對內教化百姓,開啟民智,按照周朝的官制和朝儀改革了秦國落後的國體;對外息兵休戰,與鄰國交好,使百姓可以專心於農業生產和經濟發展,秦國短期內就實現了大治,由一個邊陲小國一躍而成為春秋時期可與晉國、楚國一爭高低的強國,為秦國日後兼併六國形成大一統的中華帝國,奠定了基礎。
因為百里奚是用五張黑公羊皮贖回來的,故世人稱百里奚為「五羖大夫」。羖,就是黑公羊皮的意思。而五張羊皮換賢臣的故事,也成為了千古流傳的佳話。