I've had good luck with Oxyclean. I make a paste of out it with warm water. If it is a colored cloth its best to make a water bath and soak the whole thing in case it affects the color.
Soak it for several hours—even overnight—in a stain-eliminating solution. You can use either oxygen bleach, such as OxiClean or Clorox OxiMagic, or a powdered dishwasher detergent like Cascade.
Dissolve about a quarter cup of either product in enough lukewarm water to fully submerge the linens. Then, simply allow them to soak and then launder as usual; the long soak will coax out stubborn stains. If the linens are colored, or have colorful stitching or embellishments, stick with the oxygen bleach, which is safe to use on colors, to avoid any potential color loss.
Hope this helps!
I soak things with stubborn stains in Oxyclean and hot water overnight.
Oxiclean! It took red wine out of a white sweater I had!