A new model for calculating nuclear level densities is investigated. The singlenucleon spectra are calculated in a relativistic mean-field model with energy-dependent effective mass, which yields a realistic density of single-particle states at the Fermi energy. These microscopic single-nucleon states are used in a fast combinatorial algorithm for calculating the non-collective excitations of nuclei. The method, when applied to magic and semi-magic nuclei, such as 60 Ni, 114 Sn and 208 Pb, reproduces the cumulative number of experimental states at low excitation energy, as well as the s-wave neutron resonance spacing at the neutron binding energy. Experimental level densities above 10 MeV are reproduced by multiplying the non-collective level densities by a simple vibrational enhancement factor. Problems to be solved in the extension to open-shell nuclei are discussed.