We describe and test a method for fitting noisy differential equation models to a time series of population counts, motivated by stage-structured models of insect and zooplankton populations. We consider semimechanistic models, in which the model structure is derived from knowledge of the life cycle, but the rate equations are estimated nonparametrically from the time-series data. The method involves smoothing the population time series x(t) in order to estimate the gradient dx/dt, and then fitting rate equations using penalized regression splines. Computer-intensive methods are used to estimate and remove the biases that result from the data being discrete time samples with sampling errors from a continuous time process. Semimechanistic modeling makes it possible to test assumptions about the mechanisms behind population fluctuations without the results being confounded by possibly arbitrary choices of parametric forms for process-rate equations. To illustrate this application, we analyze time-series data on laboratory populations of blowflies Lucilia cuprina and Lucilia sericata. The models assume that the populations are limited by competition among adults affecting their current birth and death rates. The results correspond to the actual experimental conditions. For L. cuprina (where the model's structure is appropriate) a good fit can be obtained, while for L. sericata (where the model is inappropriate), the fitted model does not reproduce some major features of the observed cycles. A documented set of R functions for all steps in the model-fitting process is provided as a supplement to this article.