A white cotton shirt with a visible oil stain, a mound of baking soda poured over it, and a small dish soap bottle nearby on a clean countertop. Natural light, close-up shot.
Natural & DIY

Baking Soda for Oil Stains: Remove Them Fast

Got an oil stain staring back at you? Good news: your kitchen pantry is already stocked with everything you need. Baking soda is one of the most effective first-responders for oil and grease stains — on clothing, carpet, upholstery, and even your garage floor — and this method works whether the stain happened five minutes ago or five washes ago.

This guide walks you through exactly what to do, step by step, for fresh stains and dried ones. Plan for about 30-60 minutes of active time (most of that is just waiting for the baking soda to do its thing). No specialty products required.

greasy oil stain on white cotton shirt fabric

Why Baking Soda Works on Oil and Grease Stains

Baking soda isn’t just for baking and fridge odors — it’s a natural absorbent that physically pulls oil out of fabric fibers and porous surfaces before it has a chance to set permanently.

Here’s what’s actually happening: oil is hydrophobic, meaning it repels water and bonds tightly to organic materials like cotton, concrete, and carpet fibers. Baking soda (sodium bicarbonate) has a slightly alkaline pH that helps disrupt that bond while its fine, powdery texture absorbs the oil like a sponge. When you pile it on a fresh stain, you’re essentially drawing the grease up and out of the material.

On dried or set-in stains, baking soda alone isn’t enough — but paired with dish soap, it still does meaningful work. The soap provides grease-cutting surfactants, and the baking soda boosts absorption and provides gentle mechanical scrubbing action.

This method works on a wide range of oil-based stains:

  • Cooking oil and olive oil
  • Salad dressing (including vinaigrette)
  • Butter and bacon grease
  • Motor oil and WD-40
  • Body oils on shirt collars and pillowcases
  • Grease splatter on clothing and upholstery

The fresher the stain, the better your results. But even old, set-in grease responds when you give the treatment enough time and combine it with a good dish soap.

What You’ll Need Before You Start

Pull these together before you touch the stain. Scrambling for supplies while oil soaks deeper into your shirt is not a winning strategy.

Your supply list:

  1. Baking soda (generous amount — don’t skimp)
  2. Dish soap (Dawn original is the classic choice — its degreasing formula is genuinely better for this)
  3. An old toothbrush or a soft-bristle scrub brush
  4. Clean white cloths or paper towels
  5. Cold water

Optional boosters:

  • Cornstarch (adds extra absorbency for fresh, wet stains)
  • White vinegar (for stubborn set-in stains — more on this below)
  • Hydrogen peroxide (for white or very light-colored fabrics only — test first)

One rule before anything else: cold water only. Hot water bonds oil to fabric fibers and makes stains significantly harder — sometimes impossible — to remove. This applies to rinsing, pre-treating, and washing. Keep everything cold or lukewarm until you’re absolutely sure the stain is gone.

Also: flip the garment over and check the care label before you start. If it says “dry clean only,” you’re better off taking it to a professional. For anything marked “hand wash” or “machine wash,” this method is generally safe — but when in doubt, test in a hidden area first, especially on delicate fabrics.

How to Remove Fresh Oil Stains with Baking Soda

Fresh stains are your best-case scenario. The oil hasn’t had time to fully bond with the fibers, which means you can lift a lot of it out if you act fast. Here’s the exact process:

  1. Blot immediately — do not rub. Use a paper towel or clean cloth to gently press on the stain and lift as much oil as possible. Rubbing spreads the stain and pushes it deeper into the fabric. Blot straight down, then lift.

  2. Cover the stain generously with baking soda. You want a visible, thick layer — not a light dusting. For a small stain, use at least a teaspoon. For a large grease splatter, use more. If you have cornstarch, mix it in half-and-half with the baking soda for extra absorption power.

  3. Let it sit for 15-30 minutes. For heavy grease or large stains, let it sit up to an hour. You’ll notice the baking soda clumping as it absorbs the oil — that means it’s working.

  4. Brush off the baking soda. Use your toothbrush or a dry cloth to sweep it away. Don’t rinse yet.

  5. Apply dish soap directly to the stain. Squeeze a small amount straight onto the spot and work it in gently with your fingertips or the toothbrush, using small circular motions. You’re trying to work the soap into the fibers, not scrub harder.

  6. Rinse with cold water and check. Hold the fabric up to good light before you do anything else. If you can still see a faint stain, repeat the baking soda and dish soap steps before washing.

  7. Air dry — do not put it in the dryer. Heat from the dryer will permanently set any remaining oil. Air dry completely, check the stain in natural light, and only run it through the dryer once you’re confident it’s gone.

How to Tackle Set-In or Dried Oil Stains

Set-in stains require a slightly different approach. Dried oil has already started bonding with the fibers, so your first job is to rehydrate and loosen it before baking soda can absorb it.

  1. Pre-treat with dish soap first. Apply a few drops of dish soap directly onto the dried stain and press it in gently with your finger. Don’t add water yet. Let it penetrate and start breaking down the grease for 5-10 minutes.

  2. Sprinkle baking soda on top and scrub to form a paste. Add enough baking soda to absorb the dish soap and use your toothbrush to work it into the stain in gentle circular motions. You’re building a thick paste that will sit against the stain and keep working.

  3. Let the paste sit. Minimum 30 minutes for a stain that’s a few days old. For really old stains — ones that have been through the wash and dryer — let it sit for several hours or even overnight. The longer you give it, the more oil it can lift.

  4. Rinse with cold water and assess. If the stain is lighter but still visible, repeat the whole process before washing normally.

For really stubborn set-in stains: try the baking soda and white vinegar combo. Apply the dish soap and baking soda paste first, then pour a small splash of white vinegar over it. It’ll fizz — that reaction helps agitate and lift the grease from deep in the fibers. Let it fizz out, then scrub gently and rinse.

You might also consider a commercial laundry pre-treater as a booster alongside this method — products like Fels-Naptha bar soap or enzyme-based stain sprays can work alongside baking soda on old, stubborn grease stains that aren’t fully responding to pantry methods alone.

For oil stains that have gone through the dryer — the hardest category — check out the steps in How to Clean Carpet Stains with Ingredients You Already Have for a similar soaking method that helps revive stains after heat exposure.

Using Baking Soda on Oil Stains Beyond Clothing

The baking soda method isn’t just for laundry. Here’s how to adapt it for other surfaces:

Carpet and rugs: Use the same blot-and-cover method. Apply a thick layer of baking soda to the fresh stain, wait 30 minutes, then vacuum it up. After vacuuming, dampen a clean white cloth with cold water and a drop of dish soap, and blot — don’t scrub — to work out any remaining grease. Blot with a plain damp cloth to rinse, then let it air dry fully. Never saturate carpet with water; you want damp, not wet. For a complete guide to this approach, see How to Clean Carpet Stains with Ingredients You Already Have.

Upholstery and couches: Before you do anything, find the care tag. The code matters:

  • W = water-safe (you can use this method)
  • S = solvent-only cleaning (skip the water-based method entirely)
  • X = vacuum only (seriously, don’t add anything liquid)
  • WS = either is fine

If your furniture is water-safe, test in a hidden spot first, then use the same baking soda and dish soap approach — minimal moisture, maximum patience.

Garage floor and concrete: Baking soda works on motor oil and grease stains, though concrete is porous and stubborn. Pour or sprinkle a generous amount of baking soda over the stain, add a squirt of dish soap, and scrub with a stiff-bristle brush. For deep motor oil stains, let the paste dry completely before sweeping — the dried paste brings some of the oil with it. Rinse and repeat. Very saturated or old concrete stains may also need a commercial enzyme-based concrete degreaser for full removal.

Cutting boards and kitchen surfaces: Sprinkle baking soda, add a drop of dish soap, scrub with a brush, and rinse. Safe for both wood and plastic cutting boards — and it handles that greasy film that seems to live permanently on wooden boards.

Baking Soda Oil Stain Boosters That Actually Help

A few additions that genuinely improve your results — plus one that sounds completely wrong but works:

  1. Cornstarch: Works almost identically to baking soda for fresh, wet stains. The two together absorb more oil than either alone. Great if you have a particularly greasy stain (think: salad dressing or a butter spill).

  2. White vinegar: Add this after the baking soda, never before. The fizzing reaction you get when vinegar hits baking soda helps agitate grease out of fabric fibers. It’s especially useful for set-in stains.

  3. Hydrogen peroxide: Effective for white and light-colored fabrics — mix it with baking soda into a paste for extra stain-fighting power. Always test on a hidden area first before using on colored clothing, as it can cause fading.

  4. Dish soap: The real workhorse of this entire method. Baking soda absorbs and lifts oil; dish soap dissolves it. Its grease-cutting surfactants are what break down the oil molecules. Don’t skip this step or try to substitute with hand soap or shampoo — the degreasing formula in dish soap is specific and it matters.

  5. WD-40 (yes, really): This sounds counterintuitive — using oil to remove oil — but WD-40 can loosen stubborn, hardened set-in grease stains by getting underneath them and breaking their bond with the fabric. Apply a tiny amount to the stain, let it sit for a few minutes, then immediately apply baking soda to absorb both the original stain and the WD-40. Follow with dish soap and rinse thoroughly. It works because WD-40’s petroleum-based formula can penetrate and displace older, dried grease in a way that water-based solutions can’t.

For more creative uses of these pantry staples together, see Baking Soda and Vinegar Cleaning Hacks for Every Room in Your Home.

Common Mistakes That Make Oil Stains Worse

These are the things that turn a treatable stain into a permanent one:

  • Rubbing instead of blotting. Rubbing spreads the oil over a larger area and pushes it deeper into the fibers. Always press, blot, and lift.

  • Using hot water. Hot water is the enemy of oil stains. Heat causes oil molecules to bond more tightly with fabric. Use cold or lukewarm water at every stage until the stain is completely gone.

  • Putting the item in the dryer before the stain is out. This is the single most common reason oil stains become permanent. The heat bakes the oil into the fabric and at that point, no amount of baking soda will fully undo it. Air dry, check in good light, repeat the treatment if needed, and only dry when you’re sure.

  • Using too little baking soda. A light dusting doesn’t provide enough surface area to absorb the oil. You need a visible, thick layer — generosity matters here.

  • Waiting too long on a fresh stain. The first 5-10 minutes are your golden window. The moment you see the stain, blot and cover it — don’t wait until later to deal with it.

  • Skipping the dish soap step. Baking soda absorbs oil but doesn’t dissolve it. Without a surfactant (dish soap), you’re only doing half the job. The combination is what makes this method effective.

FAQ

How long should I leave baking soda on an oil stain?

For fresh stains, leave baking soda on for at least 15-30 minutes to absorb the oil. For set-in or dried stains, let it sit as a paste (mixed with dish soap) for 30 minutes to overnight. The longer you leave it, the more oil it can pull out.

Can baking soda remove oil stains from clothes that have already been washed and dried?

It’s harder once an item has gone through the dryer, but not impossible. Re-wet the stain with a few drops of dish soap first, then apply a baking soda paste and let it sit for several hours before washing again. You may need to repeat the process two or three times.

Does baking soda work on motor oil or just cooking oil?

Baking soda works on both cooking oil and motor oil. For motor oil on concrete or garage floors, you’ll want to use more baking soda and a stiff scrub brush, and let the paste dry completely before sweeping it away. Heavily saturated motor oil stains may also need a commercial degreaser for full removal.

Is baking soda safe to use on all fabrics?

Baking soda is generally safe for most washable fabrics including cotton, polyester, and denim. Avoid using it on delicate fabrics like silk or wool without testing in a hidden area first, as its mild abrasiveness and alkalinity can damage fine fibers. Always check the care label before treating.

Can I use baking powder instead of baking soda for oil stains?

No — baking powder is not the same thing and won’t work as well. Baking powder contains additional ingredients (cream of tartar and cornstarch) that dilute its absorbency and cleaning power. Stick with pure baking soda (sodium bicarbonate) for stain removal.


Keep a small container of baking soda in your laundry room and one under the kitchen sink — being able to grab it in the first few minutes of a stain makes a significant difference. Make a simple stain-fighting kit: baking soda, white vinegar, dish soap, and a dedicated scrub brush in one spot. For more ways to use these same ingredients around your home, How to Make a DIY All-Purpose Cleaner with Vinegar and Baking Soda is worth bookmarking. Start with the stain you have right now — blot it, cover it, and give the baking soda time to work.