司马楚之,字德秀,晋宣帝司马懿之弟太常司马馗的八世孙。父荣期,司马德宗政权的梁、益二州刺史,被其参军杨承祖所杀。楚之当时十七岁,送父丧回丹杨。正逢刘裕诛杀司马氏家族,叔父宣期、兄贞之都被杀害。司马楚之混在众和尚中渡江。从历阳西入义阳、竟陵蛮人当中。等到堂祖荆州刺史司马休之被刘裕打败,他又逃亡于汝、颍之间。
司马楚之少有英气,能够折节待人。与司马顺明、司马道恭等聚集力量。等到刘裕自立为帝,司马楚之计划报复,收集士卒据守长社,投奔他的有一万多人。刘裕深为害怕,派刺客沐谦加害楚之。楚之待沐谦很好。沐谦晚上谎称有病,知道他一定会来探望,便想乘机杀了他。楚之听说沐谦病了,果然亲自携带汤药前往慰问。沐谦被他深深感动了,于是从席子底下拿出匕首,以实相告:“将军您深为刘裕所害怕,愿你不要轻率从事,以保全性命为先。”司马楚之叹气说:“如真像你所说的那样,我虽有所防,也恐怕会有闪失。”沐谦于是委身侍奉司马楚之。司马楚之的推诚信物,得士之心的行为,大致都是这样。
太宗末年,山阳公奚斤攻打黄河以南,司马楚之派使者请求归降。上表说:“长江、淮河以北的百姓听说王师南来,无不欢欣鼓舞,思求归顺。而迫于寇逆压境,无法自行前来。为臣顺民之心,请求统领慕义之兵作为皇魏前驱。而今,臣等都是白衣无官之人,无法使人信服。如若蒙赐偏裨将领的名号,假借王威以倡义举,则这里士众无不响应。”于是朝廷给予他使持节、征南将军、荆州刺史的官职。奚斤平定黄河以南之后,把司马楚之所率户民分别安置在汝南、南阳、南顿、新蔡四郡,以加强豫州。
世祖初年,楚之送妻子迁居到邺城,不久奉召入朝。当时南疆众将表奏刘义隆想侵犯边境,朝廷命司马楚之为使持节、安南大将军,封琅笽王,屯军颍川以迎战敌军。他的长史临邑子步还上表说:“司马楚之渡河,百姓思旧,义众云集,汝、颍以南,望风翕然归心,回首革面。这实在是陛下应天顺人,圣德广被的结果啊。”世祖看完大为高兴,下诏慰劳勉励,赐给司马楚之前后几部鼓吹。
刘义隆部将到彦之溯黄河西上,列兵据守黄河南岸,一直到潼关。等到到彦之等退走之后,司马楚之在长社打败他的一路军队。又与冠军将军安颉一起攻打滑台,攻克滑台,擒获刘义隆将朱修之、李元德以及东郡太守申谟,俘敌一万多人。司马楚之上疏说:“臣奉命南伐,受任一方,而智力短浅,忠诚无法报效,所以日夜忧心忡忡,忘寝废食。臣屡次派人到荆扬,不断陈说宣扬天朝盛化之美,大家无不欣承圣德,倾首北望。而刘义隆兄弟知道人情动摇,派为臣的私人仇敌顺任司州刺史,统领淮北七郡,代替垣苗守据悬瓠。从巩、洛、滑台败散以来,刘义隆以其败北为耻,对将领多加罪罚。到彦之削除爵位,成为一般士兵,在寿春杀了姚纵夫,在彭城斩了竺灵秀,王休元称病不出,檀道济斥出放逐。凡在他身边的人,都心怀疑虑。民怨臣猜,就是敌人今天的情况。臣听说平灭寇逆,必须乘胜追击,建功立勋,也应在敌人离散混乱之时。臣思陛下圣德广布,道播四海,神旗所指,无不摧服,仍未宾服称臣的,只有一个刘义隆而已。今天,天网远举,万方仰德。应当扫清东南,统一海内,使和煦之风,被盖江、汉。”魏世祖觉得兵马劳顿已久,没有听从他的意见。以散骑常侍召还司马楚之。
司马楚之跟从皇驾征讨凉州,因功被赐给隶户一百。刘义隆派将裴方明、胡崇之侵犯仇池。朝廷以司马楚之为假节,与淮阳公皮豹子等督领关中诸军从散关西进,赶走裴方明,捉住胡崇之,平定仇池而还。
皇帝车驾讨伐柔然,命司马楚之与济阴公卢中山等人督运粮草以供应大军。当时镇北将军封沓逃入柔然,劝说柔然攻击司马楚之以断粮道。柔然便派探子进入楚之军中,割下驴耳而去。有人报告说驴耳没了,众将领无人知道这是怎么回事。楚之说:“一定是敌人探子割去作为凭证,敌人快来了。”他立即派人砍柳为城,灌上水让其结冰,城刚修起,敌人便到了。冰坚城固,无法攻打,敌人只好走散。世祖听说大为赞赏。
不久朝廷拜司马楚之为假节、侍中、镇西大将军、开府仪同三司、云中镇大将、朔州刺史,王爵仍旧。在边疆二十多年,司马楚之以清俭著称。和平五年(464)去世,时年七十五岁。高宗很痛惜,追赠他为都督梁、益、秦、宁四州诸军事、征南大将军、领护西戎校尉、扬州刺史,谥称贞王。陪葬金陵。