唐高宗显庆元年(公元656年),程知节任葱山道行军大总管讨伐西突厥,击其歌逻、处月二部落,斩首千余级。十二月,程咬金引军至鹰娑川,遇突厥强兵四万骑,其前军总管苏定方师五百骑驰迎冲击,西突厥大败,追奔二十里,杀获一千五百多人,缴获的战马及器械,漫山遍野,不可胜计。副大总管王文度非常急妒苏定方的大功,对程咬金说:“现在虽说是获胜,但官军也有死伤,千万不要急追敌寇,应自结方阵,慢慢谨慎前行,敌则战,万全之策。”更出格的是,王文度还对人讲皇上有密旨给他自己,让程咬金及全军归他指挥,并下令军队不许深入追敌。
可怜远道万里的唐军士卒终日骑行马上,严冬朔风,身被重甲缓缓而行,粮草不继,人马相继冻病而死。苏定方劝程咬金:“我们出师目的是为了歼敌,现在反而坐困自守,敌来必败,如此怯懦,何以立功!皇上以您为大将,怎么可能又密诏副手发号施令,其中肯定有诈。请下令把王文度抓起来,飞表上奏皇上弄个清楚。”英雄老矣,此时程咬金全无青壮年时代的锐气,摇头不从。
唐军至恒笃城,有胡人数千归降。王文度说:“这些人等我们离开,肯定又会反叛,不如全部杀掉,还能得大笔资财。”苏定方切谏:“这样干我们自己倒成贼了,怎能称得上是为国伐叛!”程咬金默许王文度。几千胡人被杀得干净,王文度“分其财,独定方不受”,史书虽未明讲程大将军也贪财宝,但“独定方不受”,已表明程老自己肯定也分了一大份儿。回师以后,事情败露,王文度因矫诏当死,特除名免职。程咬金因逗留不进及不努力追敌,减死免官。大英雄晚节不保,杀降利财,贪生怕死,令人遗憾。虽然不久又被朝廷起用为刺史,毕竟气短,程咬金上表退休。高宗麟德二年(公元665年),程咬金善终于家。赠骠骑大将军,赔葬昭陵。
其子程怀默,袭卢国公爵;程怀亮,以功臣之子娶太宗女清河公主,授驸马都尉、左卫中郎将;少子程怀弼,官至右金吾将军。
《程知节墓志铭》载:程知节以“麟德二年二月七日,染疾甍于怀德里第,春秋七十有七”。可知程知节的生年应在隋文帝开皇九年(589)年。