This paper investigates the path following control problem for an underactuated unmanned surface vehicle (USV) in the presence of dynamical uncertainties and time-varying external disturbances. Based on fuzzy optimization algorithm, an improved adaptive line-of-sight (ALOS) guidance law is proposed, which is suitable for straight-line and curve paths. On the basis of guidance information provided by LOS, a three-degree-of-freedom (DOF) dynamic model of an underactuated USV has been used to design a practical path following controller. The controller is designed by combining backstepping method, neural shunting model, neural network minimum parameter learning method, and Nussbaum function. Neural shunting model is used to solve the problem of "explosion of complexity," which is an inherent illness of backstepping algorithm. Meanwhile, a simpler neural network minimum parameter learning method than multilayer neural network is employed to identify the uncertainties and time-varying external disturbances. In particular, Nussbaum function is introduced into the controller design to solve the problem of unknown control gain coefficient. And much effort is made to obtain the stability for the closed-loop control system, using the Lyapunov stability theory. Simulation experiments demonstrate the effectiveness and reliability of the improved LOS guidance algorithm and the path following controller.