In busy waterways, spatial-temporal discretisation, safe distance and collision avoidance timing are three of the core components of ship traffic flow modelling based on cellular automata. However, these components are difficult to determine in ship traffic simulations because the size, operation and manoeuvrability vary between ships. To solve these problems, a novel traffic flow model is proposed. Firstly, a spatial-temporal discretisation method based on the concept of a standard ship is presented. Secondly, the update rules for ships’ motion are built by considering safe distance and collision avoidance timing, in which ship operation and manoeuvrability are thoroughly considered. We demonstrate the effectiveness of our model, which is implemented through simulating ship traffic flow in a waterway of the Yangtze River, China. By comparing the results with actual observed ship traffic data, our model shows that the behaviours and the characteristics of ships’ motions can be represented very well, which also can be further used to reveal the mechanism that affects the efficiency and safety of ship traffic.