The motion of unmanned surface vehicles (USVs) is frequently disturbed by ocean wind, waves, and currents. A poorly designed controller will cause failures and safety problems during actual navigation. To obtain a satisfactory motion control performance for the USVs, a model predictive control (MPC) method based on an improved Nonlinear Disturbance Observer (NDO) is proposed. First, the USV model is approximately linearized and MPC is designed for the multivariable system with constraints. To compensate for the influence of disturbances, an improved NDO is designed where the calculation time for MPC is reduced. Finally, comparison simulations are conducted between MPC with the original NDO and MPC with an improved NDO, and the results show that they have similar performances to the USVs. However, the proposed method has fewer parameters that need to be tuned and is much more time-saving compared to MPC with a traditional NDO.