Abstract. We show that a simple numerical solution procedure – namely the method of lines combined with an off-the-shelf ODE solver – can provide efficient, mass conservative solutions to the pressure-head form of Richards’ equation. We present a novel method to quantify the boundary fluxes that reduces water balance errors without negative impacts on model runtimes. We compare this solution with alternatives, including the classic Modified Picard Iteration method of Celia et al. (1990) and the Hydrus 1D model (Šimůnek et al., 2005, 2016). We reproduce a set of benchmark solutions with all models. We find that Celia’s solution has the best water balance, but it can incur significant truncation errors in the simulated boundary fluxes, depending on the time steps used. Our solution has comparable run-times to Hydrus and better water balance performance (though both models have excellent water balance closure for all the problems we considered). Our solution can be implemented in an interpreted language, such as MATLAB or Python, making use of off-the-shelf ODE solvers. We investigated alternative scipy ODE solvers in Python and make practical recommendations about the best way to implement them for Richards’ equation. There are two advantages of our approach: i) the code is short and simple, making it ideal for teaching purposes; and ii) the method can be easily extended to represent alternative properties (e.g., novel ways to parameterize the K(ψ) relationship) and processes (e.g., it is straightforward to couple heat or solute transport), making it ideal for testing alternative hypotheses.