刘巴,祖父刘曜,曾作苍梧太守。父亲刘祥,为江夏太守、**寇将军。刘祥曾经协助孙坚杀南阳太守张咨,被南阳士民所杀。孙坚又替袁术攻刘表,因此,刘表更加怀恨刘祥,想加害于刘巴。这是公元190年的事。当时刘巴只有十八岁,刘表顾忌无端杀他有损自己的名声,于是找来刘祥的故旧去诈诱刘巴中圈套。这位故友对刘巴说:“刘牧欲相危害,可相随逃之。”(本传裴注《零陵先贤传》)机智的刘巴识破了奸计,再三不答应。探者只好如实报刘表,刘表见刘巴对自己没有猜疑,才打消了杀刘巴的念头,改而辟他做官,又荐他做茂才,刘巴都拒绝了。刘巴为了避祸,不得已出来在零陵郡做了户曹史主记主簿,算是应付了刘表的征召。
建安十三年(208),曹操南下荆州,刘备遁逃,荆州名士追随刘备的很多。江北的名士大量涌到江南,而江南的刘巴反而到了江北去投曹操,刘备深以为恨。赤壁战后,曹操派刘巴回到江南去招降,让他们坚守城池,抗拒刘备。刘巴坦率地说:“刘备志在据荆州,江南是守不住的。”曹操固执地说:“如果刘备占领江南,我派大军做你的后盾。”刘巴明知江南守不住,但他还是听从了曹操的命令,到零陵去策反,更加引起刘备的愤恨。
刘巴到了江南,正如他所料,刘备、诸葛亮等已经站稳了脚跟,他前进不得,后退不能。当时诸葛亮在临烝(今湖南衡阳),刘巴致信诸葛亮,表示拒绝效命刘备的决心。刘巴说:“我冒尽艰险,来到了守义的乡土,我没有能力来打动这些民众投顺北方。但是,我绝不改变初衷,即使把性命交给大海,也不回顾荆州。”(本传裴注《零陵先贤传》)诸葛亮回信挽留,劝说刘巴,仍然没有效果。刘巴北还不成,就一直往南到了交州,改为张姓,从那里辗转到了益州。益州牧刘璋与刘巴父亲有旧交,刘璋见了刘巴,十分高兴,就把他留下了,每有大事,必访之。