What's actually causing the smell
Start with the obvious culprit: rotting food. In nearly every smelly disposal I've inspected, the source is food debris stuck somewhere the water doesn't reach well.
There are three hiding spots. The splash guard (that black rubber flap at the sink opening), the grinding chamber walls, and the P-trap under the sink.
Clean all three and the smell almost always disappears. If it doesn't, or if it smells like sewage rather than spoiled leftovers, the problem is deeper in the drain.
Older homes stack the odds against you. Drain lines that are 40 or 60 years old have rough, scaled interiors that grab food and grease and hold it there to rot.
So the fix is two-part: scrub the disposal properly, then decide whether your old pipes are the real issue.
The usual suspects, ranked
The splash guard wins the most-common award every time. Homeowners run water through it for years and never lift the flaps to see the black film underneath. It's genuinely gross.
Second is the grinding chamber itself. Fibrous scraps like celery strings, onion skins, and potato peels wrap around the grinder and stick to the walls, and a worn old disposal grinds less cleanly, so more sticks.
Third is the P-trap. Grease and fine food settle in that U-bend and rot. This is more common in older homes where the trap may be a narrow 1.25-inch line or corroded metal.
If the smell is sewer gas instead of food, look at the trap water seal. A trap that's gone dry, or a cracked trap, or a venting fault lets gas come straight up.
The deep-drain problem shows up as recurring odor. You clean everything, it smells fine for a day, then it's back. That's grease and buildup coating the pipe past the trap.
- Splash guard film: most common, always DIY
- Chamber residue: very common, cleaned with ice and salt
- P-trap sludge: common in older narrow or metal traps
- Dry or cracked trap: sewer smell, sometimes needs a pro
- Grease-coated drain line: recurring smell, may need jetting