Aerothermal optimization is a powerful technique for the design of internal cooling passages because it maximizes heat transfer and simultaneously minimizes pressure loss. Moreover, the optimization is fully automatic, which reduces the duration of design process compared with a human-supervised design approach. Existing optimization studies commonly rely on gradient-free methods, which can only handle a small number of design variables. However, cooling passage designs use complex geometry configurations (e.g., serpentine channels with rib-roughened surfaces) to enhance heat transfer; what is needed is to parameterize the passage using a large number of design variables. To address this need, we perform aerothermal optimization using a gradient-based optimization algorithm along with the discrete adjoint method to compute derivatives. The benefit of using the adjoint method is that its computational cost is independent of the number of design variables. In this paper, we focus on optimizing a U-bend duct, which is representative of a simplified, rib-free turbine internal cooling passage. The duct geometry is parameterized using 135 design variables, which gives us sufficient design freedom for geometric modification. We construct a Pareto front for heat transfer enhancement and total pressure loss reduction by running multi-objective optimizations. We also compare our optimization results with those from the gradient-free methods and demonstrate that we achieve better pressure loss reduction and heat transfer enhancement. The above results show that our gradient-based optimization framework functions as desired and has the potential to be a useful tool for turbine aerothermal designs with full internal cooling configurations.