A primitive-variable formulation for simulation of time-dependent incompressible flows in cylindrical coordinates is developed. Spectral elements are used to discretise the meridional semi-plane, coupled with Fourier expansions in azimuth. Unlike previous formulations where special distributions of nodal points have been used in the radial direction, the current work adopts standard Gauss–Lobatto–Legendre nodal-based expansions in both the radial and axial directions. Using a Galerkin projection of the symmetrised cylindrical Navier–Stokes equations, all geometric singularities are removed as a consequence of either the Fourier-mode dependence of axial boundary conditions or the shape of the weight function applied in the Galerkin projection. This observation implies that in a numerical implementation, geometrically singular terms can be naively treated by explicitly zeroing their contributions on the axis in integral expressions without recourse to special treatments such as l'Hopital's rule. Exponential convergence of the method both in the meridional semi-plane and in azimuth is demonstrated through application to a three-dimensional analytical solution of the Navier–Stokes equations in which flow crosses the axis.