司度支判官。宋仁宗宝元初年，担任起居舍人、知谏院，转任兵部员外郎兼侍御史知杂事、三司户部副使。以天章阁待制出为陕西都转运使。曾辨析冤狱，减免陕西乡兵劳役。之后知渭州，进枢密直学士、知成都府。后因保荐有失，夺职，改知凤翔府、河中府，担任给事中。后知永兴军。皇祐末年，传闻蜀中将乱，仁宗再命程戡知成都府。至和元年（1054年）召拜参知政事，严禁蜀人妖言诬民。嘉祐元年（1056年），避宰相文彦博之亲，改任枢密副使。嘉祐五年（1060年），与枢密使宋庠不合，被降职，以宣徽南院使、鄜延路经略安抚使、判延州。因为交结宦官