P0304 on a Subaru: 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 Subaru towed.

What P0304 means on a Subaru

On a Subaru, 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. Subaru's boxer engine uses coil-on-plug ignition, so each cylinder has its own coil.

Is P0304 common on Subarus?

P0304 shows up on Subarus like the Outback, Forester, and Impreza, often at higher mileage. Worn spark plugs and failing ignition coils are the usual causes. Because the boxer engine tucks the plugs into the sides of the block, access is tight and labor makes the repair pricier than on most cars.

Commonly reported on: Outback, Forester, Impreza, Legacy.

Symptoms

Common causes

How to fix it

FixDIY?Typical cost
Replace the cylinder 4 ignition coilYes$70–200
Replace the spark plugs (tighter access on the boxer engine)Mechanic$250–500
Swap the coil with another cylinder to confirm the fault firstYes$10–30
Replace the fuel injector on cylinder 4Mechanic$250–600

Frequently asked questions

Can I drive my Subaru 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 Subaru?
A worn spark plug or a failing ignition coil on cylinder 4. These are the most common causes on high-mileage Subarus.
Why is fixing P0304 more expensive on a Subaru?
The boxer engine buries the spark plugs at the sides of the block, so replacing them takes more labor than on most cars. A coil is easier and cheaper to change.

Other common Subaru codes

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

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
BMW
P0304 on a BMW
Mercedes-Benz
P0304 on a Mercedes-Benz
Volkswagen
P0304 on a Volkswagen
Hyundai
P0304 on a Hyundai
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 Subaru codes: Subaru hub →

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