卜式是南方一个普通的农民,从事农牧业。他有个弟弟,等弟弟长大后,他和弟弟分了家,把全部土地、房子和钱财都分给了弟弟,自己只分走100多头羊。卜式在山里放羊为生,他很会养羊,10多年后,羊繁殖出了1000多头,而且他还用养羊得来的钱买了土地和房子。当时他那个弟弟已经破产了,卜式很心疼弟弟,于是连续好几次把自己的家产重新分配给弟弟。
卜式很爱国,他听说国家正在和匈奴打仗,于是向皇帝上书,表示愿意把自己一半财产捐给国家,用来支援前线作战的官兵。汉武帝觉得很奇怪,派人来问他是不是想当官。卜式说:“我只是个放羊的,只会放羊,既不会也不想当官。”使者问他:“那你是不是有什么冤屈,打算上告?”卜式说:“我从来不和别人争执,没钱的人我借钱给他,品行不好的人我教育他,他们都很顺从我,我哪儿来的冤屈啊?”使者觉得更奇怪了,于是问:“那你到底想要什么呢?”卜式说:“我听说国家和匈奴在打仗,我认为贤人就应该为了国家、民族而献身,有钱的人就应该捐钱,只有这样才能把匈奴消灭。”使者很感动,回去把他的话传达给了汉武帝。汉武帝把这事跟丞相桑弘羊说了,桑弘羊说:“这不是人的真实情感,可能不怀好意,不能为了教化百姓而扰乱法制,所以最好不要答应他。”所以汉武帝没有答复、式,他捐财的事也不了了之。卜式回到故乡,重新养他的羊。
一年多以后,匈奴和浑邪等国纷纷投降,为了安置他们,政府财政支出巨大,老百姓为了给投降的人腾出土地而纷纷迁移,都要政府给他们提供给养,但政府实在没钱了。、式听说后立刻拿出20万钱给太守,让他分给那些移民,在他的带动下,当地捐钱帮助移民的富人很多。太守将他们的名单向皇帝作了汇报。汉武帝认出了、式的名字,说:“这就是上次那个想捐出一半财产的人啊!”于是奖赏他每年12万钱,f、式把这笔钱又全部交给了地方政府。当时有钱人都隐瞒自己的财产,只有卜式愿意捐出来,所以皇帝认为他是个始终如一的人,就任命他为中郎,赐给他10顷土地和左庶长的爵位,并号召老百姓向他学习。
卜式并不想当官,汉武帝说:“那你去上林苑替我养羊吧。”卜式答应了。虽然他已经是中郎了,但他还是穿着布衣和草鞋放羊。一年以后,他养的羊长得又肥又壮,繁殖也很快。汉武帝知道后表扬了他,并问他怎么做到的。卜式说:“其实治理百姓也是一样的道理,按时作息,去除不好的,不要让它们害了一个整体。”汉武帝对他的话感到很惊奇,想让他去治理老百姓试试,于是任命他当县令。结果当地的老百姓很顺从他,不久又把他迁到成皋当县令并兼管漕运,最后考核下来他的成绩是最优秀的。汉武帝认为他朴实忠厚,就让他做齐王内太傅,不久又任命他为齐国相国。
正好当时吕嘉造反,卜式向皇帝上书说:“我听说君主忧愁,臣子就应该以死来谢罪。大臣们用生命来保卫国家,而才能低下的人应该献出财产来帮助军队,这样才是国家强大而别人不敢来侵犯的方法。我愿意和儿子还有临淄懂得射箭和博昌懂得驾船的人一起去从军,不惜牺牲性命来保卫国家。”皇帝认为他很贤明,下诏书说:“我听说以德报德,以正直去报答怨恨。现在天下不幸有危难,天下的郡县诸侯没有一个挺身而出报效国家的。齐国相国、式言行雅正,平时勤勤恳恳地耕种放牧。牲畜有多余的就分给兄弟,然后再重新繁殖,从不被利益所迷惑。以前北方有战争,他就上书要求把自己财产捐献给国家;西河一带收成不好,他又带领齐国的人积极捐献粮食。现在又第一个站出来要为国家效力,虽然还没有参战,但他的义气已经表现出来了。因此赐给卜式关内侯的爵位,黄金四十斤和十顷土地,并向天下宣告,让大家都知道这件事。”
过了几年后,汉武帝下令让卜式取代石庆的御史大夫职位。卜式上任后就说郡国并不经营盐铁业,但船又要收税,这种做法可以废除的,反对汉武帝的盐铁专卖政策。这个建议让汉武帝很不高兴,从此就不喜欢他了。最后卜式享尽天年而终。
班超曰:“以鸿渐之翼困于燕爵,远迹羊豕之间,非遇其时,焉能致此位乎?”并称其质直。卜式著有《养猪羊法》,可惜也佚失了。