287年（陈重兴三年）的春天，脱欢再次领军（陈仲金说凡三十万人），以护送陈朝宗室陈益稷回安南称王为名，再次入侵陈朝。面对来势汹汹的元军，纵然陈兴道早已作好准备，在谅山、乂安、海阳等地佈防，亦无法抵挡，并一度威胁国都昇龙。但陈兴道坚守昇龙，并让上皇、陈仁宗迁到安全地方暂避，令元军追赶不及而后撤，其后便据守万劫（位于今海阳省）。
击败元军.元军阵容庞大，但军粮亦快速消耗，需要从海路运送军粮补给。1287年（陈重兴三年）农历十二月，越将陈庆余在绿口湾设下伏兵，俘获元军水师将领张文虎的