Considering the increasing concern on sustainable development from manufacturers, focus is given to three kinds of indicators of sustainable development, that is, economy, environment, and society, and schedule two types of resource, that is machines and workers, simultaneously in the classical flexible job shop scheduling problem. The authors define it as a sustainable flexible job shop scheduling problem considering dual resources (SFJSPCDR). First, a model of the SFJSPCDR is formulated to optimise the makespan, the energy consumption, and the ergonomic risk simultaneously. Second, an improved survival duration-guided NSGA-III algorithm (SDG-NSGA-III) is proposed to solve SFJSPCDR. The survival duration of each individual determines whether it takes part in generating offspring. In order to balance the energy consumption and ergonomic risk while minimising the makespan, a double-low decoding algorithm is proposed, which is composed of two decoding algorithms. Cross-generation selection is employed with the non-dominated sorting, and the next-generation population is selected according to the reference point-based selection strategy. In addition, a restart strategy is also integrated to improve the exploration and exploitation performance of the SDG-NSGA-III algorithm. Finally, a group of experiments are carried out and the results prove the effectiveness of the proposed algorithm. This is an open access article under the terms of the Creative Commons Attribution License, which permits use, distribution and reproduction in any medium, provided the original work is properly cited.