Many products out there.
Oxy clean and hot water
Never use Hot water on stains, will set the stain. Use Oxi clean and cool water. If white, use bleach.
First, what type of stain is it? If oil-based (& I get lots of these on my clothes) I use a spot-treat cleaner of OxyClean liquid spray mixed with 1/4 cup of Dawn dishwashing detergent. Spray it on the stain, then brush it in with a soft brush (like a nail brush); let it set for at least 10 minutes (I've let this set for up to a day), then wash in the hottest possible water you can. Check the area after washing; you may have to repeat this. If you can't tell, let the item air dry--don't put in a clothes dryer until you're certain the stain is out; hot air will set it.
I've used this method for YEARS; it works well!
Try oxiclean! It took red wine out of a white sweater of mine!