天授二年(691年)九月,升任宰相,担任地官侍郎、同平章事。四个月后,为酷吏来俊臣诬以谋反,夺职下狱,贬为彭泽县令。营州之乱时,得到起复。神功元年(697年),再度拜相,担任鸾台侍郎、同平章事,迁纳言。勇于犯言直谏,力劝武则天复立庐陵王李显为太子,培植举荐忠于唐朝的势力,成为大唐社稷得以延续的重要支柱。
武则天欲立侄子武三思为皇太子,询问宰相们的意见。狄仁杰道:“我看天下人都还思念唐朝恩德,若立太子,非庐陵王(武则天第三子李显,即唐中宗)不可。”武则天大怒。后来,武则天做了一个梦,便让狄仁杰解梦。
狄仁杰解完梦境,又道:“太宗皇帝栉风沐雨,亲冒矢石,方才平定天下,传于子孙。先帝将二子托付于陛下,陛下现在却要把天下移交给外姓吗?”见武则天神情犹豫,狄仁杰道:”况且,姑侄与母子哪个关系更亲近?陛下立儿子为太子,千秋万岁后可以配享太庙。若立侄子,从没听说有将姑姑配享宗庙的?”
武则天对此说法有些不高兴,道:“这是朕的家事,你不宜干预。”狄仁杰却道:“王者四海为家,天下的事都是陛下家事。君王是元首,臣下为四肢,犹如一个整体,况且臣忝任宰相,怎能不管呢?”
后来,武则天逐渐醒悟,派使者前往房州,将李显秘密接回洛阳。她将李显藏在帐后,然后召见狄仁杰,故意说起庐陵王之事。狄仁杰恳请意切,以致哭泣不止。武则天便将李显唤出,对狄仁杰道:“朕现在将皇太子还给你。”狄仁杰叩头跪拜,又道:“太子回朝,但却无人知晓,人言纷纷,如何才能让人相信呢?”武则天便先将李显安顿在龙门,然后按礼节迎回宫中。满朝文武、天下百姓无不欢悦。
狄仁杰所做的一切,李唐皇室并没有忘记他的功劳。久视元年(700年)九月,病逝,追赠文昌右相,谥号文惠。唐中宗复位后,追赠司空、梁国公,累赠太师,配享中宗庙廷。