A numerical model to calculate three-dimensional turbulent flow in open channels of arbitrary cross-section is developed and validated. The model solves the incompressible, Reynolds-averaged Navier-Stokes (RANS) equations, formulated in generalized curvilinear coordinates, in conjunction with the k-ε turbulence closure. The free-surface elevation is determined by allowing the computational mesh to deform during the iterative solution procedure so that the proper kinematic and dynamic conditions are satisfied at convergence. The numerical model is validated by application to simulate the flow through meandering open channels for which detailed experimental measurements are available. Comparisons of the computed solutions with experimental data reveal that the model predicts the details of the velocity field, including changes in secondary motion, the distribution of bed shear, and variations of flow depth in both the transverse and longitudinal directions.