Sensor data from marine engine systems can be used to detect changes in performance in near real time which may be indicative of an impending failure. Thus sensor-based condition monitoring can be important for the reliability of ship machinery systems and improve maritime safety. However, there is a need for efficient and robust algorithms to detect such changes in the data streams. In this paper, sensor data from a marine diesel engine on an ocean-going ship are used for anomaly detection. The focus is on unsupervised methods based on clustering and the idea is to identify clusters in sensor data in normal operating conditions and to assess whether new observations belong to any of these clusters. The anomaly detection methods presented in this paper are applied to sensor data with no known faults. Being fully unsupervised, however, they do not rely on the assumption that all measurements are fault free as long as the amount of faulty data is small. The methods explored in this study include K-means clustering, Mixture of Gaussian models, density-based clustering, self-organising maps and support vector machines. These could be used separately or in combination to provide an efficient initial screening of the data and decide whether more detailed analysis is required. The performance of the various methods is generally found to be good, also in comparison with other methods. Overall, cluster-based methods are found to be promising candidates for online anomaly detection and condition monitoring of ship machinery systems based on sensor data.