This paper proposes a new trajectory tracking control method for multi-joint robots by combining stiffness adaptation and iterative learning control. The proposed controller achieves trajectory tracking while optimizing stiffness of elastic elements installed in each joint of the robots. Even though the multi-joint robots have nonlinear dynamics and multi degree-of-freedom, the stiffness optimization realizes high energy efficiency as if we utilized resonance. An advantage of the proposed control is to work well without using exact parameter values of the robots. Since it seems that adaptive control and iterative learning control have not been used simultaneously, this paper newly proposes a methodology to appropriately combine stiffness adaptation and iterative learning control. This combination enables trajectory tracking and convergence of the stiffness to the optimal one. These properties can not be achieved by our previous controllers.