张煌言对国家大事,尤其是各地的战事十分关注,《清史稿》就说他“慷慨好论兵事”。然而,随着两年后李自成攻入北京,崇祯帝自缢身亡,张煌言还没来得及施展自己的才华便失去了祖国。次年,清军浩浩荡荡南下,接连攻破扬州、南京等地,并对当地百姓大肆屠杀、镇压,宁波城中的官员一时间对于是战是降议论纷纷、莫衷一是。
毫无疑问,张煌言自然是持坚决抗清态度的一方,他积极参加刑部员外郎钱肃乐等主战派召开的集会,后来又作为使者前往天台迎奉鲁王朱以海至绍兴担任监国,并被封为翰林院修撰。顺治三年(1646),清军在征南大将军博洛的率领下势如破竹般攻破绍兴、杭州、义乌等地,张煌言跟随鲁王经台州逃往海上。
局势稍定后,张煌言返回浙东一带招募义军,并被鲁王加封为右佥都御史。次年,清军入关后投降并被封为苏松提督的吴胜兆暗中谋划反清复明,在与鲁王方面取得联系后,双方约定由张煌言、张名振率军攻打松江,吴胜兆则在城中接应。可惜的是,张煌言等人的船队出发不久后突然遭遇风暴,许多将领勉强上岸后被清军轻松俘获,张煌言也陷入敌手,七日后才总算找到机会逃走。
逃至黄岩时,张煌言遭清军包围,所幸骑术高超才勉强逃出,自此他便更加苦练骑射之术。为了实现抗清大业,张煌言又在上虞、平冈一带集结义军,并严格要求部下不得劫掠百姓。顺治七年(1650),张煌言率部前往舟山护卫鲁王,被封为兵部侍郎。次年,张煌言之父张圭章的讣告传来,浙江提督田雄趁机写信招降张煌言,但被后者拒绝。
不久后,清军攻破舟山,张煌言便护卫着鲁王转道前往金门投靠郑成功。郑成功奉隆武帝朱聿键为正朔,因此对鲁王只是提供饭食供养起来,并不为其效力。尽管侍奉不同的主公,但张煌言、郑成功对于彼此的能力与忠贞都十分欣赏。此后数年,张煌言多次作为监军跟随张名振进军舟山、崇明等地,甚至一度自吴淞口进入长江,并登上金山对着远处的明太祖陵遥遥祭拜。
顺治十二年(1655),张名振中毒身亡,临终前将自己的部众尽数托付给了张煌言。两年后,永历帝朱由榔派出使者册封张煌言为兵部侍郎、翰林院学士。张煌言此前本就和郑成功关系友善,自从隆武帝去世、鲁王放弃监国后双方又共同尊奉永历帝,于是经常联手作战,像是顺治十六年(1659)时他们就占领崇明,并互相配合攻取了瓜洲。
紧接着,张煌言设计亲率一支部队向南京方向佯攻,郑成功则趁机占领了镇江。然而,接下来张煌言提议直取南京,郑成功却没有采纳其意见。紧接着,张煌言向芜湖进发,并派出士兵四处招降,义军很快收复了四府、三州、二十四县,且在张煌言的约束下,其士卒所过之处与民秋毫无犯。
然而,此时张煌言却突然收到了郑成功兵败南京后放弃瓜洲、镇江撤回海上的消息。一时间,缺乏水上援助的张煌言陷入被清军援兵围困的危险处境。在占据绝对优势的清军的围剿下,张煌言屡战屡败,只得孤身逃亡,途中还不慎感染疟疾,在转战跋涉二千余里后才终于返回浙江沿海一带,并得到了郑成功的接应。
顺治十八年(1661),清廷为了彻底肃清沿海抗清势力而下令迁徙沿海居民以断绝义军获得粮饷的途径。同年,永历政权灭亡,郑成功则忙于收复台湾,拒绝了张煌言出兵闽南的提议。不久后,郑成功暴病而亡,张煌言则继续转战浙江沿海,其间多次拒绝清浙江总督赵廷臣的招降。
康熙三年(1664)六月,张煌言自知抗清无望,于是解散义军,从此隐居在位于今浙江舟山的悬山岛。七月,清军趁夜登岛将张煌言抓捕,两月后处死于杭州弼教坊。由于张煌言生前曾作诗道:“日月双悬于氏墓,乾坤半壁岳家祠”,他的外甥便将其葬在了和于氏墓、岳家祠同在西湖周边的南屏山荔枝峰下。也正因这一缘故,后人便将他与于谦、岳飞共同尊称为“西湖三杰”,以纪念他们的赤胆忠心。