司马悦虚龄十四时以功臣子弟担任禁卫军，太和年间，北魏设置司州，司马悦被选中担任司州主簿，很快升任司空司马、大将军司马，外任立节将军、建兴郡太守。当时咸阳王元禧出任司州牧，朝廷以司马悦出任宁朔将军、司州别驾，辅佐元禧。司马悦的儿子司马朏娶华阳公主，女儿司马显姿为元恪贵嫔。司马悦升任太子左卫率、河北郡太守。魏宣武帝元恪初年，司马悦出任镇远将军、豫州刺史。当时有汝南郡上蔡人董毛奴，携带五千钱死在路上。郡县都怀疑是百姓张堤打劫，又在张堤家中找到五千钱。张堤害怕拷打，就自行承认杀了人。罪案送到豫州后，司马悦观色