The motion of Unmanned Surface Vehicles (USVs) is frequently disturbed by the ocean wind, wave and current. A poorly designed controller will lead to failures and even safety problems during actual navigation. In order to obtain satisfied control performance of the motion for the USVs, a Model Predictive Control (MPC) based on improved Nonlinear Disturbance Observer (NDO) is proposed. Firstly, the USV model is approximately linearized and MPC is designed for the multivariable system with constraints. In order to compensate the influence of disturbances, an improved NDO is designed, with which the calculation time for the MPC saved a lot. Finally, comparison experiments are conducted between the MPC with NDO and the MPC with improved NDO, and the results show that they have similar performance to the USVs. However, the proposed method has less parameter to be tuned and it is much more time-saving compared to the MPC with traditional NDO.