A fresh oil spill on concrete is a race against the clock. Concrete behaves like a hard sponge, so motor oil soaks past the surface and settles into the pores within minutes.
Left alone, that buried oil keeps wicking back up, and it will wreck the bond if you ever seal or paint the slab. The real fix is pulling the oil out of the pores, not just wiping the top.
Here is how to remove oil stains from concrete floors, whether the spill is minutes or years old, plus how to stop the next one from setting in.
Key Takeaways
- Act Fast: Cover a wet spill with clay kitty litter, sawdust, or cornstarch to soak up standing oil, but expect the absorbent to leave a stain you still have to scrub.
- Fresh Stains: Scrub the spot with a paste of baking soda or powdered laundry detergent, then rinse with hot water and dish soap.
- Old, Set-In Stains: Use an alkaline concrete degreaser, WD-40, or a solvent poultice to lift oil that has bonded deep in the pores.
- Prevent and Dispose: Seal the concrete or park over a mat to stop future spills, and recycle used oil and oily waste at a collection center, never down a drain.
How To Remove Fresh Oil Stains From Concrete Floors
Some spills are annoying little drips, and others are full-on disasters. If the oil is still wet, you have the upper hand. The goal here is absorption before scrubbing.
Follow these steps to tackle a fresh spill:
1. Soak Up Excess Oil
Grab an absorbent material like clay kitty litter, cornstarch, or sawdust and mound it over the wet spot. Let it sit for 30 minutes to pull the oil out of the surface pores. Keep in mind the litter only lifts the standing oil, so the stain soaked into the pores still needs a scrub afterward.
2. Scrub the Stain
Sweep away the absorbent material. Mix baking soda or powdered laundry detergent with a little water to form a thick paste. Smear this over the stain and use a stiff nylon brush to work it into the surface.
Let the paste sit for a few minutes to break down the grease.
3. Rinse and Repeat
Wash the area with hot water and dish soap. The hot water cuts through grease better than cold. If a shadow remains, repeat the scrubbing until the concrete looks clean.
How To Remove Old Oil Stains From Concrete Floors
Dried, set-in stains call for chemistry on your side. The size and age of a stain decide how stubborn it is, because oil that has sat for months soaks deeper into the concrete and keeps bleeding back up.
Commercial Concrete Cleaner or Degreaser
For large or dark stains, a dedicated alkaline degreaser is your best option. These cleaners soak into the pores and lift the oil back to the surface, cutting the grease that plain soap and water leave behind.
1. Prep the Surface
Sweep the area thoroughly. You want the cleaner to attack the oil, not the dirt sitting on top of it.
2. Apply the Degreaser
Pour your concrete cleaner or degreaser directly onto the stain. Let it dwell for 15 to 20 minutes (check the bottle for specific times), but do not let it dry out.
3. Scrub Vigorously
Use a stiff-bristled deck brush or a wire brush to agitate the cleaner. This mechanical action helps the chemicals reach deep into the pores.
4. Rinse Under High Pressure
Rinse the area with a hose or, ideally, a pressure washer. The force of the water helps blast the loosened oil out of the concrete texture.
WD-40
It sounds counterintuitive to fight oil with oil, but WD-40 is a solvent that breaks down grease. It works surprisingly well on medium-sized spots.
1. Spray Generously
Soak the stain with WD-40 and let it sit for about 5 to 10 minutes.
2. Scrub and Rinse
Scrub the area with a wire brush, then wash it down immediately with hot water and plenty of dish soap to remove the WD-40 residue.
Using a Poultice for Deep Stains
If a stain keeps wicking back up to the surface after cleaning, you need a poultice. This is a paste made of a solvent (like acetone or lacquer thinner) and an absorbent solid (sawdust or diatomaceous earth).
1. Mix the Poultice
Combine your absorbent material with the solvent until you have a consistency like peanut butter.
2. Cover the Stain
Spread the paste over the stain about 1/4 to 1/2 inch thick, and push it an inch past the edge of the stain on every side. Cover it with plastic wrap and tape down the edges so the solvent soaks in instead of flashing off.
3. Wait for Osmosis
Leave it alone for 24 hours. As the solvent breaks down the oil and slowly evaporates, the absorbent material pulls the dissolved oil up out of the concrete.
4. Sweep it Up
Remove the plastic and let the poultice dry completely. Sweep it up and set it aside for safe disposal (see the FAQs below).
Using Microorganisms (Bio-Enzymatic Cleaners)
This is the eco-friendly route. Bio-enzymatic cleaners use single-cell bacteria that break down and consume the hydrocarbons in oil. The microbes eat the oil and leave behind mostly water and carbon dioxide, which restores the concrete to a natural look.
This method takes almost no elbow grease, but it does take patience.
1. Apply the Solution
Pour the liquid or granular bio-cleaner over the stain. Keep the area moist if the instructions call for it, since the bacteria need moisture to work.
2. Wait
It can take a few days to a week for the bacteria to finish. Once the stain is gone and the food runs out, the bacteria die off naturally.
Using Carbonated Drinks (The Cola Method)
Standard cola contains phosphoric and citric acids. It is not a heavy-duty solution, but it can help fade lighter stains or surface grease.
1. Pour and Wait
Pour room-temperature soda over the stain. Let it fizz and sit for 15 to 30 minutes.
2. Scrub and Clean
Scrub with a stiff brush and rinse thoroughly. Do not let the soda dry, or you will be left with a sticky sugar spot that attracts ants.
Using Bleach
Bleach is easy to find and helps remove dark residue, though it is not a solvent for grease. It works best as a final step to brighten the concrete after you have removed the bulk of the oil.
1. Dilute and Pour
Mix bleach with water (about a 1:1 ratio) and pour it on the stain. Let it sit for 10 minutes.
2. Rinse With Caution
Scrub and rinse with water. Be careful not to wash the bleach runoff onto nearby plants or grass.
FAQs
How To Prevent Oil Stains on Concrete
Cleaning concrete is hard work, so preventing the mess in the first place is the smarter play. Here is how to keep your floor looking clean.
Seal the Concrete
A high-quality concrete sealer is your best defense. It fills the pores so oil sits on the surface instead of soaking in. Penetrating sealers are invisible, while topical sealers (like acrylic or epoxy) leave a glossy, wipe-clean layer.
Use Parking Mats or Cardboard
If you have a project car or a vehicle that tends to leak, park it over a specialized garage floor mat. In a pinch, a large piece of flattened cardboard is a cheap, disposable way to catch drips before they hit the cement.
Use a Stain Blocker
If you plan on painting your concrete floor, use a primer with stain-blocking properties. This stops old oil stains from bleeding through your new paint job and makes future cleanup easier.
Keep an Emergency Kit Handy
Keep a bag of cheap kitty litter and a stiff brush in the garage. When a spill happens, covering it right away stops the oil from migrating deeper into the slab. The faster you act, the less scrubbing you face later.













