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
- Check engine light on, flashing if the misfire is severe
- Rough idle or shaking while stopped
- Loss of power or hesitation when accelerating
- Worse fuel economy
Common causes
- most common: Failing ignition coil for cylinder 4
- common: Worn or fouled spark plug in cylinder 4
- less common: Clogged or leaking fuel injector on cylinder 4
- less common: Vacuum or intake air leak near cylinder 4
How to fix it
| Fix | DIY? | Typical cost |
|---|---|---|
| Replace the cylinder 4 ignition coil | Yes | $80–250 |
| Replace the spark plugs | Yes | $100–300 |
| Swap the coil with another cylinder to confirm the fault first | Yes | $10–30 |
| Replace the fuel injector on cylinder 4 | Mechanic | $300–800 |
Frequently asked questions
Other common BMW codes
P0304 on other brands
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.