唐冀州武邑(今属河北人),少举明经。历官殿中侍御史,益州录事参军。后为司宾主簿,转司刑丞。武后天授中,与徐有功,来俊臣、侯思止专治诏狱,时称“遇徐有功、杜者生,遇来、侯者死”。延载元年(694),由洛阳州司马入为宰相,旋因故降为秦州刺史。又入为司刑卿,末几,再为宰相,圣历元年(698)。罢为秋官尚书,因故降司刑少卿,出为并州长史,病死途中。