A new technique is presented for estimating the frequency of a sinusoid in noise. Standard techniques typically estimate the frequency of a sinusoid from an estimate of the autocorrelation function or from a filter model. These techniques require a large number of samples for an accurate estimate of the frequency. Furthermore, if the frequency is varying with time, recomputation of the autocorrelation or filter model is necessary for each estimate update. In this correspondence, we present a new technique that is based on a variable delay element. We will show that the corresponding error surface is sinusoidal, and that the first maximum of the error function occurs at one-half the period of the unknown sinusoid. We will develop an algorithm that is based on gradient techniques to find this maximum, and from this maximum we directly compute the frequency estimate. The new algorithm works in the time domain with a simple adaptive delay update computation. The technique has been tested in simulations with signal-to-noise ratios as low as 1 : 10, with excellent performance. The speed of the algorithm depends on a convergence factor that is computed from an initial estimate of the power of the input signal. Since the technique is adaptive, it can also be applied to tracking a time-varying frequency.