In this paper, a general minimum mean square error (MMSE) channel estimation algorithm is proposed for multiple-input multiple-output orthogonal frequency division multiplexing (MIMO-OFDM) systems in spatially correlated multipath fading channels. It can make full use of the channel correlations in space, time, and frequency to estimate the channel state information for various systems, including pilot-symbol- assisted systems, pilot-embedded systems, and blind systems. To improve the computational efficiency of the proposed algorithm, we then derive a fast implementation algorithm with the complexity only linear in the number of subcarriers. Finally, we analyze the performance of the proposed algorithm for different systems in spatially independent and correlated channels.