According to RepairPal, an oil change for a BMW 328i can cost between $149 and $174. However, you might pay more than that depending on your location and BMW model.