We present results from a lattice QCD study of nucleon matrix elements at zero momentum transfer for local and twist-2 isovector operator insertions. Computations are performed on gauge ensembles with non-perturbatively improved N f = 2 + 1 Wilson fermions, covering four values of the lattice spacing and pion masses down to Mπ ≈ 200 MeV. Several source-sink separations (typically ∼ 1.0 fm to ∼ 1.5 fm) allow us to assess excited-state contamination. Results on individual ensembles are obtained from simultaneous two-state fits across all observables and all available source-sink separations with the energy gap as a common fit parameter. Physical results are obtained from a combined chiral, continuum and finite-size extrapolation. For the nucleon isovector axial, scalar and tensor charges we find physical values of g u−d A = 1.242(25)stat( +00 −31 )sys, g u−d S = 1.13(11)stat( +07 −06 )sys and g u−d T = 0.965(38)stat( +13 −41 )sys, respectively, where individual systematic errors in each direction from the chiral, continuum and finite-size extrapolation have been added in quadrature. Our final results for the isovector average quark momentum fraction and the isovector helicity and transversity moments are given by x u−d = 0.180(25)stat( +14 −06 )sys, x ∆u−∆d = 0.221(25)stat( +10 −00 )sys and x δu−δd = 0.212(32)stat( +16 −10 )sys, respectively.