司马虓年少时十分好学,很有名声,喜欢研究考订经典,善发言论而且清晰明辩。司马虓最初因是宗室亲属的缘故,选拔担任散骑常侍。咸宁五年(279年),司马虓的父亲范阳康王司马绥去世,司马虓继承范阳王的爵位。[1] 司马虓后来多次升迁至尚书。后出任安南将军、都督豫州诸军事、持节,镇守许昌,进位为征南将军。[2]
太安元年(302年),当时正值八王之乱,齐王司马冏掌权,河间王司马颙向晋惠帝司马衷上表,说司马冏欲伺机篡权,心中无君,与成都王司马颖、新野王司马歆、范阳王司马虓会集洛阳,请求晋惠帝废黜司马冏。不久,长沙王司马乂攻杀司马冏。[3]
永兴元年(304年),河间王、太宰司马颙上表晋惠帝,请求立成都王司马颖为皇太弟。司马颙被王浚打败后,挟持晋惠帝回到洛阳。司马虓与东平王司马楙、镇东将军周馥等人向晋惠帝进言说:“自从愍怀太子被害,没有设置皇位继承人,把重任交给前相,就失去了做臣的节操。因此前年太宰与臣下长久地考虑太子的人选,不能长期空缺,所以一同启奏以成都王司马颖作为太子。司马颖接受重任后,而不能挑起重担。‘小人不用’,而他却当成心腹。骨肉间应当敦厚,而他猜忌轻薄一再出现。阴险邪僻应当疏远,而谗言蜂起。这都是我们不聪明,在尊奉依赖人上失策。于是让陛下在授权上出错,就是杀了我们,也不足以向天下谢罪。如今皇帝回宫,文武官员空缺,制度荒废破坏,没有残存。臣等虽然低劣,但足以匡辅王室。外界传说,张方与我们不同。既惋惜他在任上作乱,又想到太宰的淳厚有德诚信善良,有目共睹,在道义节操面前,就作为国家宗族盟友的榜样。张方受他的指点教诲,为国家奉献节操。往年的举动,宁可死也没有二心。这就是太宰的良将,陛下的忠臣。只是因为生性刚强坚定,不能做到随机应变,于是固守先前的志向,以致产生混乱。然而退一步考虑,既要肯定他不改易的节操,而且想到他事态变化后,被天下怪罪,因而不立即回到西部。追究事情的本末,实在没有深重的遇责。我们听说先代开明的君主,总是成全保护功臣,使福泽流传给子孙。自从中间以来,陛下的功臣开始没有能保全的人,并不是人才都差,他们招致祸患,实在是因为朝廷政策的不当,不能相互包容宽恕。因为一个早晨的过失,丧失多年的功勋,既违背《周礼》评议功勋的典章,又使天下人没人敢再为陛下献出节操。我们这些话,难道仅仅为了一个张方,实在是为了国家长远打算,想让功臣长久拥有富贵。我们愚笨的想法认为应该把关右的重任交给太宰,一方的重大事情,以及自州郡以下,选举授职,全都仰望他的成功。如果是朝廷中的大事,如废置起用减损增益,就向他咨询。这就是所谓二伯汇报政务,周公、召公分别治理陕的东西两侧的义理,陛下又在今天实行。发遣张方回郡,让诸王伸张心意,随时安定王室。授予张方的官职,请全部依照先前。这样就使得功臣义士努力,功臣必定能保全。司徒王戎,是异姓的贤士;司空司马越,是公族的名人,两人都忠于国家爱戴君主,小心翼翼,适合干机要的国事,交给他们朝政。安北将军王浚是佐助天命者的后代,躬行道义,忠诚清廉,被远近的人推崇。像如今这样大的举动,实在是有安定国家的功勋,这是我们叹息崇敬的原因。对王浚应该特别推崇重用,来符合大家的期望,顺利地镇抚幽朔,长久地做北部的藩篱。我们竭力保卫疆土,捍卫皇室,陛下不用费气力,四海自然平定。那么四代祖先的事业,必定在今日兴盛。日月的光辉,昏暗后又复明。恳请陛下三思,考察我们的言论。又可把我们的上表给西部的太宰看。”[4]