High-resolution Doppler-resolved spectroscopy has opened up a new window into the atmospheres of both transiting and non-transiting exoplanets. Here, we present VLT/UVES observations of a transit of WASP-121b, an 'ultra-hot' Jupiter previously found to exhibit a temperature inversion and detections of multiple species at optical wavelengths. We present initial results using the blue arm of UVES (≈3700 -5000Å), recovering a clear signal of neutral Fe in the planet's atmosphere at >8 σ, which could contribute to (or even fully explain) the temperature inversion in the stratosphere. However, using standard cross-correlation methods, it is difficult to extract physical parameters such as temperature and abundances. Recent pioneering efforts have sought to develop likelihood 'mappings' that can be used to directly fit models to high-resolution datasets. We introduce a new framework that directly computes the likelihood of the model fit to the data, and can be used to explore the posterior distribution of parameterised model atmospheres via MCMC techniques. Our method also recovers the physical extent of the atmosphere, as well as account for time-and wavelength-dependent uncertainties. We measure a temperature of 3710 +490 −510 K, indicating a higher temperature in the upper atmosphere when compared to low-resolution observations. We also show that the Fe i signal is physically separated from the exospheric Fe ii. However, the temperature measurements are highly degenerate with aerosol properties; detection of additional species, using more sophisticated atmospheric models, or combining these methods with low-resolution spectra should help break these degeneracies.