How to Clean a Smelly Bathroom Drain
Bathroom drain odours are caused by one of three things: biofilm buildup in the drain pipe, a dry P-trap, or a venting problem. The first two are easy DIY fixes. A rotten egg or sewer gas smell coming intermittently from a drain that's used regularly is usually a biofilm or P-trap issue.
What Causes the Smell
- Biofilm buildup: Hair, soap scum, and organic debris accumulate in the drain and trap, feeding bacteria that produce hydrogen sulphide (rotten egg smell). This is the most common cause.
- Dry P-trap: The P-trap (the curved section under the sink or tub) holds water that blocks sewer gas from entering. If a drain isn't used for weeks, the water evaporates and sewer gas can enter. Run the tap for 30 seconds to refill the trap — if the smell stops, this was the cause.
- Vent pipe issue: If multiple drains smell, particularly after heavy rain, there may be a blocked vent stack. This requires a plumber.
Fixing Biofilm Odour (The Most Common Case)
Step 1: Remove and Clean the Drain Strainer
- Remove the drain strainer or stopper
- Clean the underside — this is usually covered in soap scum and hair and is often the primary source of the smell
- Use a toothbrush and dish soap to scrub it clean
Step 2: Clean the Drain
- Pour 1/2 cup baking soda down the drain, followed by 1/2 cup white vinegar
- Allow to fizz for 15 minutes
- Flush with hot water
Step 3: Use a Drain Brush
- A flexible drain cleaning brush (available at hardware stores for a few dollars) inserted into the drain and worked up and down removes the biofilm coating the drain walls that the baking soda treatment loosens but can't fully dislodge
- Repeat the baking soda + vinegar flush after brushing
Prevention
- Pour 1/2 cup of baking soda followed by hot water down bathroom drains monthly
- Use a drain strainer to catch hair — this is the most effective single prevention measure
- Remove and clean the drain strainer every 2–4 weeks
Book a Maidless deep clean at maidless.ca — 4.9★, 100+ reviews, vetted cleaners across Toronto.