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
- 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: Worn or fouled spark plug in cylinder 4
- common: Failing ignition coil for 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 | $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 first | Yes | $10–30 |
| Replace the fuel injector on cylinder 4 | Mechanic | $250–600 |
Frequently asked questions
Other common Subaru codes
P0304 on other brands
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.