Fraud is a significant issue for insurance companies, generating much interest in machine learning solutions. Although supervised learning for insurance fraud detection has long been a research focus, unsupervised learning has rarely been studied in this context, and there remains insufficient evidence to guide the choice between these branches of machine learning for insurance fraud detection. Accordingly, this study evaluates supervised and unsupervised learning using proprietary insurance claim data. Furthermore, we conduct a field experiment in cooperation with an insurance company to investigate the performance of each approach in terms of identifying new fraudulent claims. We derive several important findings. Unsupervised learning, especially isolation forests, can successfully detect insurance fraud. Supervised learning also performs strongly, despite few labeled fraud cases. Interestingly, unsupervised and supervised learning detect new fraudulent claims based on different input information. Therefore, for implementation, we suggest understanding supervised and unsupervised methods as complements rather than substitutes.