亲司马睿所宠爱。后于永嘉元年（307年）随父亲一同移镇建业（后改建康，今江苏南京市）。建兴元年（313年），司马睿升任左丞相，拜司马绍为东中郎将，镇守广陵。316年，晋愍帝所在的长安被前赵攻陷，晋愍帝出降，西晋灭亡。有鉴于此，317年，司马睿称晋王，建元建武，并立司马绍为晋王太子。318年，司马睿即位称帝，改元太兴，司马绍被立为皇太子。永昌元年（322年）发生王敦之乱，大将军王敦领兵进攻建康并佔领石头城，晋元帝派王导等人进攻石头城但都被王敦击败，司马绍于是打算率领将士与王敦决一死战，即将出发时因遭太子中