Course keeping for ships is vital for automatic navigation in marine transportation. To improve the control effect and reduce the energy output of the controller, this article proposes an improved concise backstepping controller based on a Lyapunov candidate function by introducing a nonlinear function of course error to replace the course error itself in the feedback loop. The procedure of nonlinear controller design has been reduced from two steps to one step using information from controlled plant to construct the Lyapunov candidate function. Compared with the pure backstepping control, the proposed improved algorithm reserves the nonlinear item of the system, and possesses a strong disturbance rejection ability and robustness to the mathematical model uncertainty. The algorithm given here has advantages of simplified construction method, satisfactory control effect, robustness and energy saving.