SYMPTOM · NOT CLEANING

Dishwasher Not Cleaning Dishes The 8 Real Causes, Ranked by Frequency

A dishwasher that runs a full cycle and leaves dishes gritty, filmed, or with bits of food stuck on is almost always one of five things: a clogged filter, hard-water buildup blocking the spray arms, a low or dead detergent dispenser, an inlet water that's not hot enough, or a worn wash impeller in the pump. Below: the eight causes we actually find on Twin Cities service calls, in the order we find them, across Bosch, KitchenAid, Whirlpool, Samsung, LG, GE, and Maytag.

  • 4.5★ · 990+
  • 1-Yr Warranty
  • OEM Parts
  • Same-Day
(651) 364-7466
$149Trip feeWaived on repair
See brands we service

Reviewed by Mike Larson, Master Appliance Technician · 18+ yrs in-field · Last reviewed

  • Same-day diagnostic

    Call before 2pm weekdays.

  • OEM parts on truck

    Brand-specific stocking.

  • Diagnose before quote

    Written, no surprises.

  • 1-yr labor warranty

    Parts & labor in writing.

Quick answer

Dishwasher Not Cleaning Dishes

The five-minute self-check: (1) pull and rinse the filter at the bottom of the tub — a clogged filter is the #1 cause of poor cleaning across every brand, (2) spin both spray arms by hand and check that every nozzle is open (use a toothpick on calcified holes), (3) run the kitchen sink hot until it's actually hot before starting the cycle — inlet water under 120 °F won't dissolve detergent. If it still cleans badly, the most-common fixes are filter / spray-arm cleaning ($165–$245 all-in), wash-pump impeller ($245–$385), or detergent dispenser ($225–$345). Flat $149 trip fee waived on approval. 1-year written warranty.

Root causes, ranked by what we find

Most-likely failures (by frequency)

1. Clogged filter — the #1 cause across every brand

What it is: Every modern dishwasher (Bosch, KitchenAid, Whirlpool, Samsung, LG, GE, Maytag) has a fine mesh filter at the bottom of the tub that captures food particles. If it isn't rinsed every 2–4 weeks, it clogs — and the wash pump just recirculates dirty water back onto the dishes. Symptom: gritty residue, food bits redeposited on top-rack glassware, smell. We find this on roughly 4 in 10 'not cleaning' calls.

Fix: Pull the filter assembly (twist counter-clockwise on Bosch / KitchenAid; lift-out on Whirlpool / Samsung / LG / GE), rinse under hot water with a soft brush, clear the sump screen, reseat. Run an empty hot-cycle with citric acid or a dishwasher cleaner.

Typical all-in: DIY · $0 if it's a filter clean

2. Calcified or food-blocked spray arms

What it is: Twin Cities municipal water runs hard (12–20 gpg in most suburbs). Calcium and food debris block the small jet holes on the upper and lower spray arms — water sprays where it can, not where it should. Symptom: top rack cleans poorly while bottom rack is okay (or vice versa), dishes facing one quadrant always come out dirty. Common across every brand past year 3 on hard water.

Fix: Pull both spray arms, clear each jet with a toothpick or pin, soak in white vinegar 30 minutes, verify free spin. Inspect upper-arm feed tube (KitchenAid / Whirlpool tall-tub) for cracks.

Typical all-in: $165–$245 all-in (includes filter + spray-arm service)

3. Failed or stuck detergent dispenser

What it is: If the dispenser door doesn't pop open during the main wash, you're cleaning with rinse water — that never works. Symptom: detergent pod still sitting in the closed dispenser at end of cycle, or powder caked in the cup. Bosch / Siemens, KitchenAid, and Samsung dispensers are the most-frequent service.

Fix: Test dispenser wax-motor / solenoid for continuity, replace OEM dispenser assembly. Inspect door spring and latch for binding. On Bosch, verify the lower-rack tine isn't blocking the door from opening.

Typical all-in: $225–$345 all-in

4. Inlet water not hot enough

What it is: Dishwashers need 120–140 °F inlet water to dissolve detergent and break down grease. If the water heater is set under 120 °F, or the kitchen sink is far from the heater and the line is cold at start-of-cycle, the first 10 minutes of the cycle run with cold water — and detergent just clumps. Symptom: powder residue on glasses, greasy film, worse in winter.

Fix: Raise water heater to 120–125 °F. Always run the kitchen sink hot before starting a cycle. Enable the dishwasher's 'High Temp' or 'Sani-Rinse' option — it heats the wash water past 140 °F internally.

Typical all-in: DIY · $0 if it's a habit / setting fix

5. Worn wash-pump impeller or chopper blade

What it is: The wash pump impeller pressurizes the spray arms; the chopper blade (where equipped — Whirlpool / KitchenAid / Maytag, some GE) grinds food before it goes back through the filter. Worn impeller vanes drop spray pressure, a dull or broken chopper lets food chunks recirculate. Symptom: weak spray sound during the wash, food bits glued to dishes, the unit sounds normal but cleans poorly.

Fix: Remove sump cover, inspect impeller for missing / shaved vanes, inspect chopper for nicks, replace OEM as found. Always paired with a full filter + spray-arm service.

Typical all-in: $245–$385 all-in

6. Failed circulation pump or motor

What it is: The circulation pump motor moves water through the spray arms. When the motor weakens or the pump seal leaks, spray pressure drops well below spec — and nothing on the top rack gets cleaned. Symptom: quiet cycle, dishes come out warm and wet but dirty, sometimes a slow leak under the unit.

Fix: Verify pump amperage / spray pressure, replace OEM circulation pump. On Bosch / KitchenAid integrated pump-motor assemblies, the whole assembly comes out together.

Typical all-in: $385–$565 all-in

7. Loading errors — the cause we have to talk about

What it is: About 1 in 10 'not cleaning' calls is a loading problem: tall pots blocking the upper spray-arm rotation, plastic cutting boards leaning across the lower arm, the detergent dispenser blocked by a tall item in the bottom row, or bowls nested so water can't reach the inside surface. Symptom: same dishes come out dirty cycle after cycle, others are fine.

Fix: Spin both spray arms by hand with the racks loaded before closing — if either binds, reload. Keep tall items in corners. Never block the dispenser door. Run a hot pre-rinse cycle if the dishes sat all day.

Typical all-in: DIY · $0

8. Failed turbidity sensor or main control (rare)

What it is: Modern Bosch / Samsung / LG / KitchenAid dishwashers use a turbidity sensor to extend the wash if the water is dirty. A failed sensor reads 'clean' on cycle one and short-cuts the wash time. Less commonly, a main control board fails to call for the heat / detergent step. We find this on under 5% of 'not cleaning' calls.

Fix: Read fault log in diagnostic mode, replace OEM turbidity sensor or main control as found. Always verify filter / spray-arm / inlet-temp first — those are the actual cause 90%+ of the time.

Typical all-in: $345–$525 all-in

Symptom → cause

What's the pattern telling you?

If you see thisIt's almost certainlyRead more
Dishes come out gritty / filmy / sandyFilter / sump clogged with debris — wash cycle redistributes itFilter cleaning
Upper rack dirty, lower clean (or vice versa)Diverter motor failure — only one spray arm engagingDiverter repair
All dishes wet and dirty, won't drain between cyclesDrain pump failure — wash water recirculating with debrisWon't drain
Detergent pod stuck in dispenser at end of cycleDispenser door wax-motor stuck or spray-arm hitting itDispenser repair
Sour smell + cloudy glassware over weeksBiofilm in sump + hard-water mineral buildupCleaning routine
Spray arms physically not spinningBearing seized OR rack jam blocking rotationSpray-arm repair
Water heater set under 120°F + cold-rinse settingInsufficient wash temp — boost water heater, raise dishwasher heat optionTemp diagnostics
Bosch shows poor wash + E22 errorFilter assembly clogged or improperly seatedBosch error codes

By brand

How 'not cleaning' fails on each brand

BrandTop failure modeSignature symptomBrand page
BoschFilter clog + spray-arm height misalignmentGritty residue after a normal cycle.Bosch dishwasher →
KitchenAidDiverter motor failure (rack-specific dirty)Upper rack always dirty, lower always clean (or reverse).KitchenAid →
WhirlpoolChopper / sump blockageSandy debris on lower rack after every cycle.Whirlpool →
SamsungSpray-arm bearing + diverter motorArms not spinning freely on tap-test.Samsung →
GEWash-motor seal failure + low-flowCycle runs full length but dishes wet & dirty.GE →
MieleAutoDos dispenser fault + filterCleaning agent not dispensed mid-cycle.Miele →

Diagnostic order

How to diagnose a dishwasher that runs but won't clean (5-minute self-check)

  1. 1. Pull and rinse the filter

    Bottom of the tub, twist counter-clockwise (Bosch / KitchenAid) or lift out (Whirlpool / Samsung / LG / GE). Rinse under hot water with a soft brush. Clear the sump screen below it.

  2. 2. Spin both spray arms and clear every jet

    Take out the racks. Spin upper and lower arms by hand — they should turn freely. Check every nozzle hole; clear calcified ones with a toothpick.

  3. 3. Run hot water at the kitchen sink before the cycle

    Until it's actually hot. Dishwashers need 120 °F+ inlet water to dissolve detergent. Cold start = clumped detergent = dirty dishes.

  4. 4. Use fresh detergent and the right amount

    Old detergent (year+) loses cleaning power. Use a pod in the dispenser cup, not the tub floor. Powder: fill the main cup to the line, not the pre-wash cup.

  5. 5. Run an empty hot cycle with a dishwasher cleaner

    Affresh, Finish, or 1 cup of white vinegar in a top-rack cup. Run the hottest cycle empty. This clears 70%+ of hard-water complaints across the metro.

FAQs

Common questions

Why is my dishwasher not cleaning dishes?

Across every brand we service, the order of cause-frequency is: (1) clogged filter (about 40% of calls), (2) calcified or food-blocked spray arms, (3) failed detergent dispenser, (4) inlet water under 120 °F, (5) worn wash-pump impeller or chopper, (6) failed circulation pump, (7) loading errors, (8) failed turbidity sensor or control. The first four are checkable in under 10 minutes — start there before calling.

Why are my dishes coming out gritty?

Gritty residue is almost always a clogged filter recirculating food particles back onto the dishes. Pull the filter at the bottom of the tub, rinse under hot water, clear the sump screen. If it's still gritty after a clean filter, the wash-pump chopper blade is dull or the impeller is worn — that's a $245–$385 service.

How much does it cost to fix a dishwasher that won't clean in Minneapolis?

Most 'not cleaning' repairs land $165–$565 all-in. Filter + spray-arm service $165–$245, detergent dispenser $225–$345, wash-pump impeller / chopper $245–$385, turbidity sensor / main control $345–$525, circulation pump $385–$565. The $149 trip fee is credited toward any approved repair.

Does hard water cause a dishwasher to clean poorly?

Yes — most Twin Cities suburbs run 12–20 gpg, which calcifies spray-arm jets, glazes the heating element, and leaves film on glassware. Use a rinse aid (Finish Jet-Dry), run a monthly empty cycle with citric acid or a dishwasher cleaner, and consider a whole-house softener if you're on a private well. Salt-block dispensers on European Bosch models also help.

Should I repair or replace a dishwasher that won't clean?

Repair almost always — even a worst-case circulation-pump replacement at $565 is a fraction of a $700–$1,500 dishwasher. We only recommend replacement on a unit past year 10 with stacked failures (won't clean + leaking + control), or a builder-grade unit past year 7 where every part is a custom order.

Is a dishwasher that won't clean a same-day fix?

Yes — we stock OEM filters, spray arms, detergent dispensers, wash-pump impellers, chopper blades, turbidity sensors, and the most-failed control boards for Bosch, KitchenAid, Whirlpool, Samsung, LG, GE, and Maytag on the truck. Call before 2 pm weekdays for a same-day window across Minneapolis, Saint Paul, and the metro suburbs.

Twin Cities · field notes

Twin Cities field notes

Hard-water mineral scale on wash-arm jets is the #1 'not cleaning' call we get from Hudson, River Falls, Hastings, Lake Elmo, and parts of Woodbury (well-water or hard municipal water). We descale, replace the inlet filter, and confirm rinse-aid is in use on every visit. Bosch / Thermador filter neglect (the cylindrical micro-filter at the sump base) clusters in Edina, Wayzata, Minnetonka custom kitchens — owners often don't realize it needs monthly rinse.