窦怀贞出身名门,祖父是隋朝西平太守,父亲是唐朝检校左相。他在初入官场时,一直以勤俭朴素、清廉干练著称。他在清河县令任上,政绩显著,所以很快便被提升为越州都督、扬州大都督府长史。神龙二年,窦怀贞升任御史大夫兼检校雍州长史。当时唐中宗宠幸韦皇后,韦氏一族在朝内耀武扬威。窦怀贞为了仕途曲意逢迎,不仅将名字改为从一(为避韦皇后父亲韦玄贞讳),而且在判案的过程中还故意偏袒韦氏下属。
朝野上下鄙视窦怀贞的为人,都不愿与他往来。窦怀贞却不以为耻,反以为荣,认为人们是嫉妒他。后来唐中宗为了戏弄他,在除夕宴上将皇后60岁的乳母赐给他为妻,窦怀贞激动的三呼万岁。当时人们称乳母的丈夫为“阿赩”,大臣们便讽刺窦怀贞为国赩。窦怀贞非但不惭愧,反而欣然接受。之后每次在给皇帝的奏疏中都恬不知耻的写上“皇后阿赩”的落款。
景云元年,李隆基发动了唐隆政变,诛杀了韦皇后、安乐公主等人。窦怀贞为了洗脱与韦氏的关系,亲手斩下妻子的头颅向相王李旦请罪。后来李旦继位,是为唐睿宗,窦怀贞被贬为濠州司马。太平公主开始干政后,窦怀贞又紧紧的抱住了太平公主的大腿,很快便被召回了中央。为了显示对太平公主的恭敬,他每次下朝后都要到太平公主府上请安。
后来唐睿宗为金仙公主、玉真公主修建道观耗资数万,群臣都劝谏不止。唯有宰相窦怀贞对其表示支持,还亲自监工。直到国内水旱成灾,唐睿宗才认识到了自己的错误,遂将韦安石、郭元振、窦怀贞、李日知、张说同时罢相。先天元年,窦怀贞被再次拜相,担任同中书门下三品。
李隆基继位后,窦怀贞被晋升为尚书左仆射,封魏国公。因为太平公主对李隆基不满,意图废除再立,所以便与窦怀贞、岑羲、萧至忠等人密谋。结果阴谋败露,太平公主势力被铲除,窦怀贞逃入沟中自缢而死。为了发泄心中不满,李隆基命人斩下他的首级,并将其赐姓为“毒”。