This paper develops state- and output-feedback controllers that force an underactuated surface ship to follow a predefined path at a constant forward speed controlled by the main thruster system under the presence of environmental disturbances induced by wave, wind and ocean-current. The proposed controllers are designed using Lyapunovs direct method and the popular backstepping. The unmeasured sway and yaw velocities are estimated by introducing a new nonlinear passive observer. A stability result for nonlinear cascade systems with nonvanishing uncertainties is introduced to analyze closed-loop stability. Numerical simulations using the real data of a monohull ship are provided to illustrate the effectiveness of the proposed methodology for path following of underactuated ships.