According to the World Health organization, heart disease has remained the leading cause of death in the world for the past 18 years. In 2016, there are 10 million deaths due to heart disease worldwide. Early detection of heart disease would greatly increase the chances for more successful treatments. Thus, with the goal of developing a sound prediction model for heart disease, our team employed machine learning methods on a dataset consisting of data from heart disease patients at the Cleveland Clinic Foundation. Our team applied three types of feature selection and engineering techniques on the dataset and later performed modeling using seven classification algorithms – logistic regression, gradient boosting, support vector machine, random forest and naïve bayes. Upon analyzing the experimental results, it turned out that the Naïve Bayes classification model seems to be a good predictor of heart disease.