본관은 상주(尙州). 판종부시사(判宗簿寺事) 김군실(金君實)의 아들이며, 정당문학(政堂文學) 김득배(金得培)의 아우이다.
낭장으로 전라도도순문사(全羅道都巡問使) 유탁(柳濯)을 따라 왜구를 격퇴했으며, 그 뒤 호부낭중(戶部郎中)이 되었다.
1359년(공민왕 8)에 도원수 이암(李嵒)을 따라 홍건적을 막으러 서경에 갔을 때 이암이 서경을 지키지 못할 것을 알고 창고를 불태우라고 지시하였다. 그러나 김선치는 창고를 불태우면 적이 식량을 얻기 위해 오히려 전국에 침입할 것이니 옳은 계책이 아니라고 반대해 이를 중지시켰다.
1363년에 앞서 1359년 홍건적을 격퇴했던 공적을 기록하면서 일등공신이 되어 그 형상이 벽상(壁上)에 그려졌고, 토지와 노비가 하사되었다. 뒤 이어 이부시랑이 되어 양광도(楊廣道)를 안찰(按察)하였다.
그 때 재상이 남경(南京)의 궁궐을 헐어 백악(白岳)으로 옮기려 하자, 왕에게 “전날 남경을 지을 때 사람과 짐승이 피곤했는데, 이제 다시 헐면 백성들이 실망할 것입니다.”라고 의견을 밝혀 왕이 놀라 그 일을 중지시켰다.
전리판서(典理判書)를 거쳐 1365년에 동북면도순문사(東北面都巡問使)가 되었다. 그 뒤 밀직부사(密直副使)를 거쳐 계림부윤(鷄林府尹)이 되었다. 이 때 오래 해결하지 못한 강도사건과 그 연루자 1백여 명에 대해 처결을 내렸다.
이 후 상성군(尙城君)에 봉해지고, 추성익위공신(推誠翊衛功臣)이 되었다. 동지밀직사사(同知密直司事)에 올라 전라도도순문사가 되었고, 1373년에 삭방도도순문사(朔方道都巡問使)가 되었다.
한편 우왕 초에 투항해온 왜구의 무리를 유인해 죽이려다가 실패한 사건으로 수졸(戍卒: 북방 변경에서 수자리하는 군사)에 편입되기도 하였다. 1378년(우왕 4)에 낙성군(洛城君)에 봉해지고, 추충보절찬화공신(推忠保節贊化功臣)이 되었으며, 1382년에 은퇴해 상주로 내려갔다.