宋德祐二年(1276年)正月,元军迫近临安,张世杰请转移皇帝、皇后、太后三宫进入海上,而与文天祥合兵背城一战,丞相陈宜中正派人向元军请和,张世杰不同意,报告请太皇太后谢道清阻止。没有多久,和议也终止。元兵到达皋亭山,张世杰于是领兵进入定海。五月,与陈宜中尊奉赵昰为君主,改元景炎,张世杰被任命为签书枢密院事。王世强引导元军攻打南宋,于是张世杰侍奉赵昰进入海上,而自己率领陈吊眼、许夫人等畲族军队攻蒲寿庚,但最终还是没有攻克。十月,元军主帅唆都率领军队来支援泉州,宋军于是撤兵退去。元军招讨刘深攻打浅湾,张世杰战败,把赵昰移居井澳;刘深又来攻打井澳,张世杰击退了刘深,因而迁到硇州。
景炎三年(1278年)四月,南宋端宗赵昰死,卫王赵昺被立为皇帝,改元祥兴,拜张世杰为少傅、枢密副使。五月,元朝派琼州安抚张应科攻雷州,三战都不顺利;六月,再次决战于雷州城下,张应科战死。张世杰认为硇州已不能久居,将赵昺转移到新会的崖山。八月,张世杰被封为越国公,朝廷散发琼州的粮食供给军队。十月,南宋派凌震、王道夫袭击广州,凌震战败。