1645년(인조 23) 별시 문과에 병과로 급제하였다. 1652년(효종 3) 사헌부지평(司憲府持平)으로 있을 때 국가의 제반사를 논리정연하게 논평해 왕의 신임을 받았다. 1654년 사간원정언(司諫院正言)으로 있을 때에는 당시의 시사(時事)를 여러 차례 직언해 왕의 각별한 사랑을 받았다.
현종 때에는 이조참판 · 대사간을 역임하고 경상도관찰사를 지낸 일이 있다. 당시 영남에서는 대동법(大同法)이 아직 시행되지 않아 정무가 매우 번거로웠다. 이상진은 감사로 부임하여, 대동법으로 일어난 송사 판결을 신속하고 조리있게 처결해 송옥(訟獄)을 종식시켰다. 그리고 인재를 뽑아 쓰고 탐관오리를 숙청해 선정을 베풀어 목민관으로서의 칭송이 도내에 자자했다 한다.
1678년(숙종 4) 이조판서 · 우의정을 역임하였다. 그러나 1680년 경신대출척(庚申大黜陟) 결과 김익훈(金益勳) · 이사명(李師命) 등의 보사공신추록(保社功臣追錄)에 대해 영의정 김수항(金壽恒)과 의견이 맞지 않아 추록 심의에 불참하고 면직을 청했으나, 윤허받지 못하고 판중추부사(判中樞府事)로 옮겨 앉게 되었다.
1689년 인현왕후(仁顯王后)의 폐위 문제가 거론되었을 때, “이에 관한 소를 올리는 자는 대역죄로 다스리겠다.”는 지엄한 왕명이 있었음에도 불구하고 충분(忠憤)을 억제할 길이 없어 폐위의 부당함을 간하다가 숙종의 진노를 샀다. 이에 종성 · 북청 · 철원 등지로 귀양갔다가 숙종의 너그러운 처결로 풀려나 부여에 있는 옛집에서 우거하다가 세상을 떠났다.
인현왕후가 복위된 뒤 숙종은 과거를 후회하고 이상진의 제사를 지내게 하였다. 1695년에는 청백리(淸白吏)에 선출되었다. 또 전주에 장보사원(章甫祠院)을 세우고, 1708년에는 북청에 있는 이항복(李恒福)의 사당에 함께 제사지내게 하였다. 시호는 충정(忠貞)이다.