林衍“蜂目豺声,捷而有力,能倒身臂行,或投盖于屋梁”。最初为大将军宋彦祥的部下,因击退蒙古兵的功绩被任命为队正。当时有一个名叫林孝侯的人与林衍的妻子私通。林衍知道后,也诱导林孝侯的妻子与自己私通,报了此仇。有人告发了此事,但将军金俊对他的行为赞赏不已,力救得免,并推荐他担任郎将,因此林衍认金俊为义父。
1258年,林衍同
金俊、
柳璥发动兵变,杀死了
崔竩,崔氏政权覆灭。由于林衍在推翻崔氏政权的过程中起重大作用,被
高丽李治授予“卫社功臣”的称号。
1268年,林衍与金俊发生田界冲突,林衍杀死了金俊,尽灭其党,成为武臣政权的新领导者。次年废黜
王禃,拥立安庆公王为王。林衍则被任命为教定别监,独揽朝政。他想派人杀掉从蒙古回国的太子
王谌(后来的忠烈王),但走漏了风声,王谌从
鸭绿江掉头向
孛儿只斤·忽必烈告状,忽必烈遣使问责于林衍。林衍谎称元宗是因病逊位的,
元朝要求元宗与安庆公王淐同来蒙古以断其曲直,林衍迫于压力,同意元宗复位。随后元宗入朝蒙古,林衍派其子林惟干监视,因
李藏用的奏明,忽必烈得知真实情况,逮捕林惟干,并召林衍入朝。林衍想要抗命,派夜别抄军到诸岛责令百姓入居海岛,准备抵抗蒙古。
1270年二月二十五日,林衍因过度担忧,发背而死。追赠参知政事,谥号庄烈。其子
林惟茂继承教定别监之位。