Four algorithms are described for computing a steady free water surface with the solution of the three-dimensional (3D) Navier–Stokes equations. The numerical methods are used in hydraulic engineering cases, typically spillways and river modelling. The algorithms were tested against a laboratory experiment of a v-shaped broad-crested weir. The complex geometry of the weir introduced three-dimensional effects, which the numerical methods handled with varying degrees of success. One of the methods tested was the classical volume of fluid (VOF) approach, implemented in the OpenFOAM software with a fixed grid. The other three algorithms used an adaptive grid that followed the free water surface. These methods were coded in the SSIIM 2 program and were based on water continuity, pressure differences and an implicit solution of the diffusive wave equation. The VOF method gave the best results compared with the experiments. However, this method requires a very short time step. Two of the investigated methods compute the water surface location implicitly and can therefore use a much longer time step. The method based on the diffusive wave equation has the disadvantage that the results depend on a calibrated friction factor. All four methods predicted the water depth over the weir with an average accuracy below 14%.