What engine oil is best for my BMW 5 Series 2017-2021?The best engine oil for BMW 5 Series is 5W30 synthetic grade oil, however we recommend you to stick with mineral engine oil for the initial 10,000kms.