We present a method for estimating the instantaneous frequency of a signal. This method involves the calculation of a time-frequency energy density of the signal, then obtaining an instantaneous frequency estimation from this joint density. Time-frequency energy density is calculated as a least squares optimal combination of multi-window Gabor based evolutionary spectra. The optimal weights are obtained by minimizing an error criterion that is the difference between a reference time-frequency distribution and the combination of evolutionary spectra. Then instantaneous frequency of the signal is estimated from the final evolutionary spectrum as time conditional average frequency. Examples are given to illustrate the performance of our method.