Aimed at the complexity of engine vibration, the paper proposed a combination method of wavelet packet and support vector machine for engine fault diagnosis based on the vibration signals. The vibration signals were collected from a gasoline engine, which type is Dongfeng EQ6100 (Chinese engine). The signals cover four working conditions, i.e. normal, piston knocking, piston pin fault, crankshaft bearing fault, under two engine conditions of on- and off-ignition, respectively. Firstly, wavelet packet was used to extract the features of the signals. Then, the off-ignition signals were selected to be the training data to construct a multi-class classifier based on support vector machine (SVM). Finally, applied the classifier to the engine diagnosis, and the faults were recognized effectively. The results demonstrate that the combined method is suitable to diagnose engine faults, especially for small signal samples.