县（今辽宁省辽阳市）人，李弼之子。西魏宇文泰时，担任千牛备身，封怀仁县公。加开府仪同三司之位，改封普宁县公，转任义州刺史。在韦孝宽属下驻守玉壁城，多次和北齐军作战。平定北齐，因军功受位大将军，改封真乡郡公，受位左宫伯。后历任定州刺史、鄜州刺史。580年，王谦在益州作乱，李衍受杨坚之命担任行军总管，在梁睿属下平定叛乱，进位上大将军。581年，隋朝建立，李衍为行军总管讨平南方少数民族作乱，进位柱国。不久又任检校利州总管事。582年，突厥入侵隋朝北边，李衍担任行军总管率兵迎击，未见敌人而还。转任介州刺史。