P0304 on a BMW: Causes, Fixes & Repair Cost

🟠 Moderate severity · drivable

A steady light usually means you can drive a short distance, but a flashing light means the misfire is severe — pull over and get the BMW towed.

What P0304 means on a BMW

On a BMW, P0304 means the engine computer found that cylinder 4 is misfiring — it is not burning fuel on schedule. Because the code names one cylinder, the fault is almost always cylinder 4's own spark plug, ignition coil, or fuel injector. BMW engines use coil-on-plug ignition, so each cylinder has its own coil.

Is P0304 common on BMWs?

P0304 shows up on BMWs like the 3 Series, 5 Series, X3, and X5. Ignition coils are a well-known wear item on BMW engines and a common cause of single-cylinder misfires as the miles add up. Worn spark plugs are also very common, and a failing fuel injector is less common but possible.

Commonly reported on: 3 Series, 5 Series, X3, X5.

Symptoms

Common causes

How to fix it

FixDIY?Typical cost
Replace the cylinder 4 ignition coilYes$80–250
Replace the spark plugsYes$100–300
Swap the coil with another cylinder to confirm the fault firstYes$10–30
Replace the fuel injector on cylinder 4Mechanic$300–800

Frequently asked questions

Can I drive my BMW with a P0304 code?
Only if the light is steady and the engine runs okay. A flashing light means a severe misfire, so stop driving to protect the catalytic converter.
What usually causes P0304 on a BMW?
A failing ignition coil is the most common cause. Worn spark plugs are the next most likely, and coils are a known wear item on BMW engines.
How much does it cost to fix P0304 on a BMW?
A single coil runs about $80 to $250 and spark plugs about $100 to $300. An injector replacement costs more, usually $300 to $800.

Other common BMW codes

P0420
P0420 on a BMW
P0171
P0171 on a BMW
P0300
P0300 on a BMW
P0456
P0456 on a BMW
P0430
P0430 on a BMW
P0128
P0128 on a BMW
P0455
P0455 on a BMW
P0174
P0174 on a BMW

P0304 on other brands

Toyota
P0304 on a Toyota
Honda
P0304 on a Honda
Ford
P0304 on a Ford
Chevy
P0304 on a Chevy
Nissan
P0304 on a Nissan
Mercedes-Benz
P0304 on a Mercedes-Benz
Volkswagen
P0304 on a Volkswagen
Hyundai
P0304 on a Hyundai
Subaru
P0304 on a Subaru
Mazda
P0304 on a Mazda
Jeep
P0304 on a Jeep
GMC
P0304 on a GMC
Lexus
P0304 on a Lexus
Volvo
P0304 on a Volvo

Looking for the full (non-brand-specific) guide? See the P0304 code page →

Browse all BMW codes: BMW hub →

Updated 2026-08. This page is informational and not a substitute for professional diagnosis.