勋贵家世
司马消难是西晋南阳王司马模的九世孙,父亲是东魏“四贵”之一,北齐尚书令、司空、太尉司马子如。
司马消难自幼聪惠,广泛涉猎史册经书,风姿俊朗,喜好通过造作夸饰来博得名誉。最初担任著作郎。司马子如是当朝权贵,司马消难也喜好结交宾客。刑子才、王元景、魏收、陆仰、崔赡等人都交游于他家。司马消难因为娶了北齐神武帝高欢之女,凭借帝婿和贵公子的身份,历任驸马都尉、中书、黄门郎、光禄少卿。后出任北豫州刺史,镇守虎牢镇。
叛齐奔周
北齐文宣帝高洋在位末年,越发昏庸暴虐。司马消难害怕祸及自己,常常图谋自保,委屈己意抚慰部众,百姓很拥护他。
当时,文宣帝高洋在并州,派使者骑驿马传召自己的弟弟上党王高涣。高涣害怕被杀,便杀了使者向东逃跑。朝廷在邺中搜捕数日,邺中一片骚动,最后终于在济州抓获了高涣。高涣刚逃走时,朝臣们私下互相说道:“如今上党王叛逃,似乎打算逃向成皋。如果他与北豫州刺史司马消难同谋,必将成为国家祸患。”这话被报告给文宣帝高洋,高洋十分怀疑司马消难。
又因为司马消难的堂弟司马子瑞曾经跟御史中丞毕义云有嫌隙,司马子瑞跟随他镇守地方。此时毕义云派遣御史张子阶到北豫州收集道路传闻,打探消息,到了之后先把司马消难的典签官和家客监禁起来。司马消难感到惧怕,密令亲信裴藻从小路进入关中,请求举州归附北周。
北周明帝二年(558 年)三月初一,北周晋公宇文护派遣达奚武、杨忠前往接应。于是司马消难与达奚武一起进入北周朝廷,北周授封他大将军、荥阳郡公、小司徒。
北周武帝天和六年(571年)四月二十三日,北周任命大将军、荥阳公司马消难为柱国。
北周武帝建德二年(573年)五月十二日,北周任命荥阳公司马消难为大司寇。
北周武帝建德四年(575年)七月二十五日,司马消难跟随北周高祖宇文邕东伐北齐,战争结束后授官梁州总管。
北周宣帝大成元年(579 年)七月初一,北周任命柱国司马消难为大后承。
北周宣帝大成元年七月初七,北周立司马消难之女司马令姬为北周静帝宇文阐皇后。
不久,司马消难出任郧州总管。【注:史书原文为云阝州,此字为异体字,与“郧”同,故替换之,下同】
起兵反杨
北周宣帝崩逝之后,时为宣帝皇后杨丽华之父、后来的隋文帝杨坚辅佐治理政事。司马消难听说蜀公尉迟迥不接受朝廷调任代替的诏命,密谋起兵反抗杨坚专权。打算与尉迟迥联合举兵,联系甚密。
尉迟迥谋泄。北周大象二年(580年)六月初十,杨坚调发关中的军队,任命韦孝宽为行军元帅,统率军队讨伐尉迟迥。七月二十六日,司马消难以开府田广等人作为心腹,杀掉郧州总管府长史侯莫陈杲、郧州刺史蔡泽等四十余人,举兵反叛,响应尉迟迥。
他所管辖的郧州、随州、温州、应州、土州、顺州、沔州、环州、岳州等九州,鲁山、甑山、沌阳、应城、平靖、武阳、上明、涢水等八镇,都听从他的命令。同时,司马消难还把儿子司马永送到南陈作为人质,请求南陈的支援。
亡叛归陈
隋文帝杨坚任命襄州总管王谊为元帅,征调荆、襄两地的军队前往讨伐司马消难。
陈宣帝太建十二年(580年)八月初六,司马消难听说王谊率领的大军将至,连夜率领自己的部下归附南陈。陈宣帝任命他为使持节、侍中、大都督、总督安随等九州八镇诸军事、车骑将军、司空,封随郡公,赐给他鼓吹、女乐各一部。八月十五日,以新任司空司马消难为大都督水陆诸军事。
陈亡入隋
当初,杨忠去接应司马消难时,两人结为兄弟,关系深厚感情很好,隋文帝常常用对待叔父的礼节对待他。等到隋朝灭亡南陈之后,司马消难被送往京城,隋文帝特意免去他的死罪,发配为乐户,二十天后放回。仍然因为旧日的恩情,特地被隋文帝召见。不久之后在家中去世。
司马消难性格贪得无厌,反复无常,没有标准和原则。所以世人谈论反复无常之人,都会说道司马消难。他的妻子高氏,是北齐神武帝高欢的女儿。在邺城时,司马消难对她很敬重。后来进入关中,便把她抛弃了。司马消难赴郧州上任,把高氏和三个儿子留在京城。高氏对隋文帝杨坚说:“荥阳公性格多变而狡诈,如今让新近宠信的姬妾跟着自己,一定不顾妻儿,希望您防备他。”后后,司马消难投奔陈国,而高氏母子因为前番言语而得到赦免。