ECG is a non-invasive tool used to detect cardiac arrhythmias. Many arrhythmias classification solutions with various ECG features have been reported in literature. In this project, a new method combined with a novel morphological feature is proposed for accurate recognition and classification of arrhythmias. First, the events of the ECG signals are detected. Then, parametric features of ECG morphology, i.e., amplitude, interval and duration, are extracted from selected ECG regions. Next, a novel feature for analyzing QRS complex morphology changes as visual patterns as well as a new clustering based feature extraction algorithm is proposed. Finally, the feature vectors are applied to three well-known classifiers (neural network, SVM, and KNN) for automatic diagnosis. The proposed method was assessed with all fifteen types of heartbeats as recommended by the Association for Advancement of Medical Instrumentation from the MIT-BIH arrhythmia database and achieved the best overall accuracy of 97.70% based on KNN, using the combined parametric and visual pattern features of ECG Morphology. The accuracies for the six main types normal (N), left bundled branch blocks (L), right bundled branch blocks (R), premature ventricular contractions (V), atrial premature beats (A) and paced beats (P) are 97.79%, 99.50%, 99.59%, 97.69%, 89.70%, and 99.92%, respectively. Comparisons with peer works prove a marginal progress in automatic heart arrhythmia classification performance. This project is implemented with MATLAB software.