Bob's Mechanical Repairs

BMW P0304

Bob's Mechanical Repairs — independent family-run garage in Birnam, Dunkeld, Perthshire. Call 01350 727 276 or email [email protected].

Get a free quote

Cylinder 4 misfire on BMW — N47 diesel cyl 4 injector or glow plug; N20/N52/N55 petrol coil pack failure very common.

BMW P0304 — Cylinder 4 misfire on BMW — N47 diesel cyl 4 injector or glow plug; N20/N52/N55 petrol coil pack failure very common. Typical UK independent garage cost: £120–£580.

What actually causes P0304 on a BMW

BMW petrol coil packs (DENSO/BERU) commonly fail by 60k–80k miles — N20 4-cyl turbos and N52/N55 inline-6 affected equally. Cyl 4 is heat-stressed on N20 (rearmost on 4-cyl) and central on inline-6. N47 diesel cyl 4 misfire is usually a worn glow plug (cold-start hesitation) or piezo injector failure.

BMW engines that log P0304

  • N47 2.0d (320d, 520d, X1)
  • N57 3.0d (330d, 530d, X5)
  • N20 2.0 turbo petrol (320i, 528i, F30 328i)
  • N52/N55 6-cyl petrol (cyl 4 on inline-6)

How we diagnose P0304 on a BMW

  1. INPA / ISTA / BimmerLink — read per-cylinder misfire counters
  2. Swap coil 4 with another cylinder to confirm
  3. Pull spark plug, inspect, replace if worn
  4. On N47, glow plug test and injector smooth-running values
  5. Replace component and clear adaptations

The common misdiagnosis to avoid

BMW main dealer will quote a 6-coil set on inline-6 with one misfire — refuse, do the diagnostic, replace what's failed. Coils are NGK/BERU genuine spec, generic eBay coils fail within months.

BMW P0304 repair cost in the UK

Expect £120–£580 including parts and labour at an independent garage. Main-dealer quotes on BMW are usually higher for the same job, and the spread exists because the cheap cause and the expensive cause throw the same code — pay for the diagnosis before you pay for parts.

Bob's workshop tip

On N20 turbo petrol with cyl 4 misfire, ALSO inspect the timing chain at the rear of the engine — N20 timing chains stretch by 70k miles and the early warning is a slight rattle on cold start plus occasional misfire. Catching it early avoids a £3,000+ engine job.

Codes usually seen alongside P0304 on BMW

  • P0300
  • P0301
  • P0302
  • P0303

Symptoms drivers report with P0304

  • Engine warning light flashing (not steady) under load
  • Noticeable juddering at idle in gear
  • Smell of unburnt fuel from the exhaust
  • Misfire worse when engine is cold and damp
  • Significantly reduced power

Repairs that clear P0304

  • Plug & coil replacement

For the generic, all-makes explanation of this code — meaning, every known cause and UK cost bands — see our P0304 guide.

Reading P0304 on a BMW properly

A generic reader will show P0304 and nothing else. What matters is the freeze-frame data stored with it — engine speed, load, coolant temperature and fuel trims at the moment the fault was logged — plus whether any other module on the BMW has logged something at the same time. Codes rarely arrive alone, and the order they were stored in usually points at which one is the cause and which are the consequences.

Clearing P0304 without fixing it

Erasing the code resets the BMW's readiness monitors as well as the light. The fault returns on the next drive cycle if the cause is still there, and in the meantime the incomplete monitors can stop the car passing an emissions check. After a genuine repair, the car is driven until the relevant monitor completes before it is handed back.

Bob's Mechanical Repairs is an independent garage in Birnam, Dunkeld, Perthshire, with 32 years of Bob's experience on the tools. If P0304 is showing on your BMW, bring any scan results with you — we will read the live data ourselves, confirm which cause it actually is, and price the repair before any work starts.

Loading the full page…