This paper proposes a noise reduction system using microphone array and post-filtering to improve the recognition accuracy and robustness of hands-free speech recognition systems in adverse environments. In this research, we suppose that undesired noises are of localized and non-localized noise components. To deal with localized noise, we propose a hybrid noise estimation technique and a robust and accurate speech absence probability estimator to calculate the spectra of localized noise, which is further reduced by spectral subtraction. To deal with non-localized noise, we propose a hybrid post-filter with an assumption of a diffuse noise field. Speech recognition results show that the proposed noise reduction algorithm outperforms the other traditional algorithms in the tested noisy conditions.