In this paper, a new classification method based on sparse decomposition is proposed to solve the problem of complex power quality disturbance classification. Firstly, the power quality disturbance signal is decomposed into approximate part and detail part by constructing a sine cosine dictionary and a pulse dictionary. Then, 8 features are extracted from the sparse decomposition results. Finally, the feature vector is inputted into the improved support vector machine, which can be used to classify the 30 kinds of complex disturbances accurately. Simulation results based on MATLAB data and real grid data show that the classification accuracy of SVM is higher than that of BP network and ELM. Besides, the classification method proposed in this paper has strong classification ability for single disturbance and complex disturbance, and has anti-noise performance.