1620年(万暦48年)、浙江省寧波府鄞県の官僚家庭で生まれる。父の張圭章は1624年(天啓4年)の挙人であり、刑部員外郎まで昇進した。張煌言は若い時から大志を抱き、「気概があり兵事を論じることを好んだ」。1642年(崇禎15年)、科挙の郷試に合格し挙人となる。1645年(弘光元年)、清軍が江南に進撃すると、張煌言は義兵を糾合して抗清運動に身を投じた。当時、浙東で監国を称した魯王朱以海に仕え、翰林院編修などの官職を歴任した。
1651年(永暦5年)、清軍が舟山を攻略すると、張煌言や張名振らは海上へ退避した。張煌言は浙東沿海地域を根拠地とし、張名振や鄭成功などの抗清勢力と連携して活動した。水軍を率いて長江流域へ何度も進出し、1659年(永暦13年)には鄭成功と共に大規模な北伐を敢行、南京近郊まで迫るなどしたが、最終的には敗退を余儀なくされた。
鄭成功が1661年(永暦15年)に台湾島へ本拠を移した後も、張煌言は大陸に残留し、浙江・福建沿岸で孤軍奮闘を続けた。次第に勢力は衰え、1664年(永暦18年)、南田の懸嶴島(現在の浙江省象山県)に潜伏していたところを清軍に発見され、捕らえられた。張煌言は故郷の寧波府に送られた後、杭州府へ移送された。清庭は投降を勧誘したが、張煌言は一切応じず、「国亡び、家亡ぶ、死を賜うべきのみ(国已亡、家已破、当賜一死而已)」と述べて頑として拒否した。同年10月25日、杭州府の官巷口刑場で処刑された。享年45。死を前に、張煌言は『絶命詩』一首を詠:我年適五九、偏逢九月七。大厦已不支、成仁万事畢。妻と長男は鎮江へ護送され、処刑された。
清朝でさえもその忠義を認め、乾隆帝によって「忠烈」と追諡された。杭州の西湖畔、南屏山の麓には張煌言の墓があり、岳飛、于謙の墓と共に「西湖三傑」として並び称されることがある。