The performance of a face recognition system degrades when the expression in the probe set is different from the expression in the gallery set. Previous studies use either spatial or spectral information to address this problem. We propose an algorithm that uses spatial and spectral information for expression-invariant face recognition. The algorithm uses a set of three-dimensional Gabor filters to exploit spatial and spectral correlations, while principal-component analysis is used to model expression variation. We demonstrate the effectiveness of the algorithm on a database of 200 subjects with neutral and smiling expressions and explore the dependence of the performance on image spatial resolution and training set size.