With the increasing complexity of unmanned aerial vehicle (UAV) missions, single-objective optimization for UAV trajectory planning proves inadequate in handling multiple conflicting objectives. There is a notable absence of research on multi-objective optimization for UAV trajectory planning. This study introduces a novel two-stage co-evolutionary multi-objective evolutionary algorithm for UAV trajectory planning (TSCEA). Firstly, two primary optimization objectives were defined: minimizing total UAV flight distance and obstacle threats. Five constraints were defined: safe distances between UAV trajectory and obstacles, maximum flight altitude, speed, flight slope, and flight corner limitations. In order to effectively cope with UAV constraints on object space limitations, the evolution of the TSCEA algorithm is divided into an exploration phase and an exploitation phase. The exploration phase employs a two-population strategy where the main population ignores UAV constraints while an auxiliary population treats them as an additional objective. This approach enhances the algorithm’s ability to explore constrained solutions. In contrast, the exploitation phase aims to converge towards the Pareto frontier by leveraging effective population information, resulting in multiple sets of key UAV trajectory points. Three experimental scenarios were designed to validate the effectiveness of TSCEA. Results demonstrate that the proposed algorithm not only successfully navigates UAVs around obstacles but also generates multiple sets of Pareto-optimal solutions that are well-distributed across objectives. Therefore, compared to single-objective optimization, TSCEA integrates the UAV mathematical model comprehensively and delivers multiple high-quality, non-dominated trajectory planning solutions.