We present a method for the calculation of photoemission spectra in terms of reduced density matrices. We start from the spectral representation of the one-body Greens function G, whose imaginary part is related to photoemission spectra, and we introduce a frequency-dependent effective energy that accounts for all the poles of G. Simple approximations to this effective energy give accurate spectra in model systems in the weak as well as strong correlation regime. In real systems reduced density matrices can be obtained from reduced density-matrix functional theory. Here we use this approach to calculate the photoemission spectrum of bulk NiO: our method yields a qualitatively correct picture both in the antiferromagnetic and paramagnetic phases, contrary to mean-field methods, in which the paramagnet is a metal.