In this paper we present a new method to derive Boussinesq-type equations from a variational principle. These equations are valid for nonlinear surface-water waves propagating over bathymetry. The vertical structure of the flow, required in the Hamiltonian, is approximated by a (series of) vertical shape functions associated with unknown parameter(s). It is not necessary to make approximations with respect to the nonlinearity of the waves. The resulting approximate Hamiltonian is positive definite, contributing to the good dynamical behaviour of the resulting equations. The resulting flow equations consist of temporal equations for the surface elevation and potential, as well as a (set of) elliptic equations for some auxiliary parameter(s). All equations only contain low-order spatial derivatives and no mixed time–space derivatives. Since one of the parameters, the surface potential, can be associated with a uniform shape function, the resulting equations are very well suited for wave–current interacting flows. The variational method is applied to two simple models, one with a parabolic vertical shape function and the other with a hyperbolic-cosine vertical structure. For both, as well as the general series model, the flow equations are derived. Linear dispersion and shoaling are studied using the average Lagrangian. The model with a parabolic vertical shape function has improved frequency dispersion, as compared to classical Boussinesq models. The model with a hyperbolic-cosine vertical structure can be made to have exact phase and group velocity, as well as shoaling, for a certain frequency. For the model with a parabolic vertical structure, numerical computations are done with a one-dimensional pseudo-spectral code. These show the nonlinear capabilities for periodic waves over a horizontal bed and an underwater bar. Further some long-distance computations for soliton wave groups over bathymetry are presented.