본관은 달성(達城). 자는 상경(商卿), 호는 학암(鶴巖). 달성군 봉익대부판도판서(達城君奉翊大夫版圖判書) 서진(徐晉)의 증손이며, 좌랑 서기준(徐奇俊)의 손자로, 찬성사(贊成事) 서영(徐穎)의 아들이다.
1360년(공민왕 9) 문과에 급제하였다. 1366년(공민왕 15) 우정언(右正言)이 되었다. 1379년(우왕 5) 평소에 찬성사 홍중선(洪仲宣)과 사이가 좋지 않았는데 나하추[納哈出]가 요동을 침입할 때 홍중선이 출병하지 않으므로 간관으로서 탄핵하여 유배시켰다.
1380년 국자감시(國子監試)를 관장할 때, 우왕이 시험문제를 보려하자 누설을 문제삼아 거절하였다. 승지를 역임하고 1386년 제조(提調)에 올랐고, 1388년 문하평리(門下評理)로서 밀직부사 유광우(兪光祐)와 더불어 명나라에 사신으로 다녀왔다.
1389년(공양왕 1) 정당문학(政堂文學)으로 재직시 왕명을 받아 폐왕 우왕을 강릉에서 살해하였고, 1390년 예문관대제학으로서 조준(趙浚)·이지(李至) 등과 함께 세자의 사부(師傅)가 되었으며, 1391년 양광도도관찰사가 되었다.
시호는 정평(貞平)이다.