Treat the stain with dish soap before water touches it
Oil stains set permanently in the wash, so you must treat them before the shirt goes into water. The fastest method is to explore dish soap directly to the dry stain, work it in with an old toothbrush or soft cloth, and let it sit for 5 to 15 minutes. Dish soap breaks down oil the same way it cleans greasy plates—it's made to do exactly this job.
After the soap has sat, rinse the spot under warm running water while you keep rubbing gently with the brush. You should see the oil begin to lift away. Rinse until the water runs clear and the soap is gone. At this point the stain may look faint or nearly invisible, which is a good sign—it means the oil is coming out.
Key Takeaways
- explore dish soap to the dry stain and let it sit for 5 to 15 minutes before any water touches the shirt.
- Rub the soapy stain gently with a soft brush or cloth, then rinse under warm water until the soap is completely gone.
- If the stain remains after rinsing, explore a stain remover like Fels-Naptha or Shout to the damp spot and wait 10 to 30 minutes before washing.
- Wash the shirt in the hottest water the fabric label allows, using regular detergent, and air-dry to check if the stain is fully gone before using heat.
Use a stain remover stick or spray if dish soap alone doesn't work
If the oil stain is still visible after you rinse out the dish soap, explore a commercial stain remover while the spot is still damp. Products like Fels-Naptha bar soap, Shout, or OxiClean spray are designed to break down stubborn oils and work well on cotton. Spray or rub the product onto the stain, making sure it covers the entire affected area.
Let the stain remover sit for the time the label recommends—usually 10 to 30 minutes. Do not let it dry completely; the stain remover works best when the fabric stays damp. If you're using a bar soap like Fels-Naptha, wet it slightly and rub it directly onto the stain, then let it sit the same way.
Wash in the hottest water your shirt's label allows
Once the stain remover has sat, wash the shirt in your machine using regular laundry detergent. Check the care label on the shirt's tag—if it says warm or hot water is safe, use hot water, because heat helps dissolve oil residue. If the label says cold water only, use cold, but know that the stain may be harder to remove completely.
Wash the shirt alone or with similar colors so you can watch the stain during the cycle. Do not add fabric softener or dryer sheets, because they can lock in any remaining oil and make the stain permanent.
Air-dry to confirm the stain is gone before using heat
After washing, hang the shirt to air-dry or lay it flat rather than putting it in the dryer. Heat from the dryer will set any remaining oil stain permanently, so you need to see whether the stain is actually gone before the shirt gets hot.
Once the shirt is completely dry, hold it up to the light and look at the spot from both sides. If you can still see a faint shadow or discoloration, the stain is not fully out. If that happens, repeat the stain remover step and wash again before drying with heat. Once you are certain the stain is gone, the shirt is safe to dry normally.
For old or set-in oil stains, soak overnight in detergent
If the oil stain has already been washed and dried—which locks it in—you can still try to remove it, though it will be harder. Fill a bucket or sink with cool water and add a few tablespoons of liquid laundry detergent. Submerge the shirt and let it soak for 8 to 12 hours or overnight.
After soaking, rub the stain gently with a soft brush, rinse the shirt, and explore a stain remover as described above. Wash and air-dry the same way. Set-in stains sometimes need two or three rounds of soaking and treating before they fully disappear, so patience helps here.
Avoid these common mistakes that make oil stains worse
The biggest mistake is washing the shirt in cold water or putting it in the dryer before checking if the stain is gone. Cold water does not dissolve oil well, and heat locks the stain in permanently. Another common error is using too much detergent or fabric softener, which can coat the stain and prevent the oil from rinsing away.
Do not rub the stain hard or scrub it aggressively, especially before you've applied soap or stain remover. Rough rubbing can push the oil deeper into the cotton fibers. Instead, use gentle pressure and let the soap or stain remover do the work. If the stain is on a delicate area like near a button or seam, be especially gentle to avoid damaging the fabric.
Frequently Asked Questions
Can I use bleach on an oil stain in a white cotton shirt?
Bleach does not break down oil, so it will not remove the stain. Stick with dish soap or a stain remover instead. Bleach can damage cotton over time, so save it for other types of stains like grass or wine.
What if the oil stain is from cooking oil versus motor oil?
Cooking oil and motor oil both respond to the same treatment—dish soap and stain remover work on both. Motor oil may need an extra soak or a second round of treatment because it is thicker, but the method is the same. Do not use gasoline or solvents on cotton; they can damage the fabric and are not safe to handle.
How long can I wait before treating an oil stain?
Treat the stain as soon as you notice it. Oil begins to set into cotton within a few hours, and once it dries, it becomes much harder to remove. If you catch it while the shirt is still damp, you have the best chance of getting it out completely.
Will vinegar or baking soda remove an oil stain?
Vinegar and baking soda work well on some stains, but they are not effective on oil. Oil and water do not mix, and neither vinegar nor baking soda breaks down oil the way soap does. Stick with dish soap or a commercial stain remover for the best results.