The paper describes a mathematical model for the dynamics simulation of ship propulsion systems. The model, developed in a MATLAB-SIMULINK software environment, is structured in modular form; the various elements of the system are described as individuals blocks (hull, prime mover, gear, waterjet, etc.) and linked together to take their interactions into account. In this way it is possible to characterize the dynamic behaviour of both the single component and the whole propulsion plant. The model may be used to analyse the system response at off-design and transient conditions. In particular, the developed computer simulation code may be considered as a useful tool to facilitate the correct matching of the prime mover (diesel or gas turbine) to the propulsor (waterjet or propeller) in a wide range of operating conditions. The paper shows the application of the methodology to a cruise ferry used to validate the model results through a full-scale test campaign conducted by the authors during normal operation of the ship.