Sprinkle baby powder over areas with oil stains. Allow the powder to absorb the oil for 20 minutes.
Empty the baby powder into a trash bag or shake the sheets outside to remove it.
Rub prewash stain remover into remaining oil and dirt stains. Let the stain remover soak into the bedsheet fabric for a minute or two.
Drizzle heavy-duty laundry detergent over the dirt and oil stains, then rub it into the fabric.
Wash your bedsheets in the hottest water allowed by the care label. Use laundry detergent and oxygen bleach in the washing machine to remove remaining oil and dirt stains.
Check the bedsheets before drying them. If any dirt and oil stains remain, soak the sheets in a solution of 1/2 cup of oxygen bleach in 1 gallon of water for 30 minutes. Launder the sheets again.