不避权贵。后又转任三司使，能尽职守，“禁中有所取，辄奏罢之”。改任吏部侍郎。景祐四年（1037年），程琳担任参知政事，参预机务。西夏李元昊称帝，遣使来朝，廷臣多请诛杀，程琳以为不可杀。宝元二年（1039年）后因事黜为光禄卿知颍州。后来改为户部侍郎、吏部侍郎，知天雄军（今河北省大名县）。以尚书左丞、资政殿学士、工部尚书，为河北安抚使。庆历年间，担任陕西安抚使兼知永兴军。以宣徽北院使判延州。元昊死后，其子李谅祚立，三大将分治，有人建议可以用节度使引诱，加以分化，程琳仍以为不可。皇祐元年（1049年）加平章事