Over the years, the negative impact of financial fraud on organizations and countries have been increasing significantly. Conventional methods such as expert’s judgment are usually used to detect financial fraud. However, these methodssuffer from serious drawbacks due to time consumption, human errorsand high operational cost. Hence, the need for automating the fraud detection method arises. Researchers havebeen using machine learning to detect fraudulent cases, this approach has been widely used in financial fraud detection to address the shortcomings of conventionalmethods asit automates the detection process and has the potential to resolve the disparity between the impact of fraud detection and its efficacy.This research applies two feature selection methods (correlation and wrapper) with three different machine learning algorithms (Naïve Bayes, Support Vector Machine and Random Forest) to determine the optimum algorithm that can efficiently classify fraudulent and non-fraudulent firms based on a real-life dataset from the Auditor General Office of India between 2015 and 2016. A data science life cycle in machine learning was adopted. The results and evaluation revealed that machine learning algorithms had a superior advantage and can be used over the traditional methods of fraud detection.