Three Milks, One Recipe! Making “Tres Leches” Soap!


Throughout this past year of being so incredibly blessed and fortunate to contribute to Nurture Soap’s blog as a guest writer, I think there’s one word that’s come up more times than any other. That word is “inspiration”. I just can’t help it though; inspiration is the very foundation of soap making for me! With it, ideas flow, plans come together, processes move along more smoothly, and mental pictures become real, tangible things! Without it, ideas feel forced, plans go awry, and the whole process begins to feel more like a chore. Luckily, moments of feeling uninspired are pretty darn rare for me, but it’s not completely unheard of to get stuck in the occasional rut either.

Whenever a rare moment of uncertainty finds me, I like to give myself a little “mental timeout” and just contemplate the many reasons why I love soap making so much. Taking some time to think about why I chose to develop this hobby in the first place is always an excellent way to regain my artistic clarity! Above all other reasons and motivations, the absolute biggest and most important one is joy. I began, continued, and carry on in my soap making adventures because it brings me so much joy!

Reconnecting with the pure joy of soap making is what always reconnects me with my artistic inspiration too! Suddenly, the mental roadblocks begin to clear, ideas start flowing again, and processes which began to feel more like work return to being sources of happiness. After all, when you do what you love, it never actually feels like work! This has always been a great way for me to recenter and regroup whenever recentering and regrouping are needed, but do you know what else can be an excellent source of joy? SWEETS! That’s right, I’m talking about curling up on the couch with a pint of your favorite ice cream, indulging in a freshly baked cake, or even splurging a little by treating yourself to some French macarons!

This past week I did just that! Without a soul in sight, I found myself thoroughly enjoying one of my favorite desserts of all time. With the pure joy it brought to my taste buds, I didn’t feel the least bit guilty about it either! Tres leches cake has simply got to be one of the best treats on the face of this planet, and I’ve never had a problem polishing off at least half the cake in one sitting! If you’ve had tres leches cake before, then you already know exactly what I’m talking about! If you’ve haven’t tried it though, stop what you’re doing this instant and go get yourself one... I’ll be waiting right here when you get back!

For those unfamiliar with this supremely yummy dessert, “tres leches” means “three milks” in Spanish. Traditionally, tres leches cake is a spongy, butter cake that’s been soaked in three different types of milk: Heavy cream, evaporated milk and condensed milk. It’s deliciously sweet, yet light, and is typically served with a fluffy, whipped cream frosting. Completing this milky masterpiece, delicious fruits, such as fresh strawberries, sliced kiwi, mango wedges, or maraschino cherries, often top-off this tasty treat!  

As I sat there with the whole cake in front of me, savoring each and every milk-soaked bite, inspiration suddenly hit me like a ton of bricks! I mean, I absolutely love making soap, but eating tres leches cake is definitely a close second! Why not combine these two loves and make a tres leches soap? I didn’t have to think about that idea twice... It was so on! Incorporating three different kinds of milk, I’d make a wonderfully decadent, understatedly elegant batch of soap and call it “Tres Leches y Jazmín” handmade soap, which translates to “Three Milks and Jasmine”. Where is this jasmine coming from you ask? Oh, only from one of the best jasmine blends on earth- Nurture Soap’s “Frangipani Jasmine” fragrance oil! So, what are we waiting for? Let’s have ourselves a sweet time, and get to soap making!


In various soap recipes, I’m a huge fan of using alternative liquids which contain natural sugars. I’m also a huge fan of those natural sugars not getting scorched, emitting foul odors and turning odd colors, the moment sugar-loving lye is added to them! To do that, we’ll need to split the recipe’s total liquid amount in half. We’ll dissolve the lye in distilled water first, then reserve the sugar-containing milks for when the lye solution has cooled down to no hotter than 90 degrees Fahrenheit.

When it comes to making “Tres Leches y Jazmín” handmade soap, the very first thing we’ll want to do is get our lye solution made so that it can cool down while we get the rest of the recipe prepared. I’ve formulated this recipe to consist of a total of 32 ounces of batch oils, which we’ll superfat at approximately 5%, and implement a lye concentration of approximately 33%. Ultimately, the recipe calls for 9 ounces of liquid, so we’ll divide this in half. We’ll use 4.5 ounces of distilled water to dissolve our 4.5 ounces of lye into, while the remaining 4.5 ounces of liquid will be divided between the three milks. Keep in mind that in order to safely and properly dissolve, lye must be added to at least its own, equal weight in liquid, so the aforementioned lye concentration is the maximum liquid discount we’ll want to employ for this recipe. 

There are many choices when it comes to adding milk to cold process soap recipes, and any milk (Or milks!) you choose will make for an amazing bar of soap! For this particular recipe, I chose coconut milk, almond milk and oat milk for my three choices, but don’t let that make you feel limited in your own selection if you’d like to use something different. You could use goat’s milk, heavy cream, whole milk, buttermilk, soy milk, rice milk or hemp milk... Literally any milk you’d like to incorporate into this recipe is no problem! We’ll go ahead and equally divide the recipe’s remaining 4.5 ounces of liquid between the three milks. 4.5 divided by 3 is 1.5, so we’ll weigh out our three milks to exactly 1.5 ounces each. Set these off to the side so they’ll be adjusted to room temperature when it comes time to incorporate them into the batch of soap, then get ready to move on because we’ve got some awesome additives to prepare!


With our lye solution cooling down to around 85 to 90 degrees Fahrenheit, and our tres leches sitting pretty off to the side, we’ll continue by getting our additives weighed out and ready to go. Additives are anything extra, beyond the liquid, lye and fats, that we’ll be adding to our soap. For this recipe, those include white kaolin clay, sodium lactate, our mica colorant (Just one this time, but it’s a beauty!), and that fabulous fragrance oil! We’ll begin with the kaolin clay, which I like to use generously, anywhere between ½ to 1 full tablespoon per pound of batch oils. You really can’t mess up when it comes to incorporating kaolin clay into your soap recipes, and I know many soap makers who add much more than the usage rates I typically employ. It really just boils down to personal preference. If you’d prefer to use less clay, that’s absolutely A-Okay. If you’d rather use more, you’re completely free to do that too!

Kaolin clay is an awesome additive because it serves multiple purposes, yet is a simple and inexpensive way to add an extra dash of love to your handmade creations! Its mildness makes it wonderfully gentle for virtually all skin-types, and its humectant properties make it excellent for drawing and locking in moisture to the skin. Many soap makers note that it adds a lovely glide or “slippery” feel to soap, which makes it ideal for shaving formulations as well. Being an extremely fine clay, it’s also very absorbent, making it a perfect “anchor”, or fixative, for fragrances. Not only can it help to enhance a fragrance’s potency within handmade soap, it can also help to maintain its overall scent retention too. For this project, we’ll be using Nurture Soap’s gorgeously floral “Frangipani Jasmine” fragrance oil to scent the soap, which admittedly, doesn’t need help being exceptionally fragrant all on its own. With kaolin clay being such a wonderful, multi-purpose additive though, we’ll go ahead and include it nonetheless!

“Frangipani” is another word for plumeria, and the aromatic blend of plumeria and jasmine we’ll be incorporating into this recipe highlights the head-turning aromas of these beautiful botanicals expertly! Unabashedly floral, “Frangipani Jasmine” fragrance oil boasts the breezy freshness of plumeria flowers, blended exquisitely with the deeply romantic aroma of jasmine blooms. If you normally avoid floral fragrances due to their reputations for causing mischief in cold process soap, you can be rest assured you won’t find any such mischief here! “Frangipani Jasmine” fragrance oil behaves like an angel in soap recipes, with absolutely no acceleration, ricing, discoloration, or other such shenanigans!

 Even though the aroma is divinely fragrant and exceptionally lasting without the help of a scent-fixative, a generous tablespoon (Or two!) of skin-loving kaolin clay in this recipe definitely doesn’t hurt! We’ll add the clay directly to the fragrance oil, then give it a good mix with a mini-mixer. This is what’s normally referred to as a “kaolin clay slurry”. Kaolin clay is heavier than fragrance oils are, so eventually it will separate and settle to the bottom of the mixture. That’s nothing to worry about though... So long as we give our slurry another quick mix, just before adding it to our soap batter, we’ll be good to go!

Setting our slurry, or fragrance oil/clay mixture, off to the side, we’ll get our next additive weighed out and ready. Also known for its humectant properties, sodium lactate is a salt solution derived from the natural fermentation of sugars found in beets and/or corn. Most popularly, it’s known to help speed up the unmolding process by shortening the amount of time your soap must remain in the mold before it can be unmolded. While it will help to make for a harder batch of soap initially, it won’t increase the hardness properties of one’s soap batches overall. Only full cure, and a good balance of hard oils to soft oils can do that, but when it comes to unmolding soap batches sooner, sodium lactate is the impatient soap maker’s best friend (Guilty as charged!). It’s recommended to stir sodium lactate directly into lye solutions which have cooled down to at least 120 degrees Fahrenheit, or cooler. We’ll incorporate the sodium lactate at a rate of approximately 3% per pound of batch oils, setting it off to the side for now, while we allow our lye solution to continue to cool. 

The cheerful mica colorant is the final additive to prepare for this recipe. I know, I know, it’s completely unlike me to only use a single color within a batch of soap, but when I pictured this project in my mind’s eye, elegant simplicity is what I envisioned. Pure, wholesome creaminess was the goal for this soapy theme, and I knew just the mica color to deliver that. Nurture Soap’s “Yellow Vibrance” mica is absolutely perfect for this project! In cold process soap, it reigns supreme as the happiest shade of smooth, creamy, golden butter; and I’m talking grass-fed Kerigold butter here, not margarine! Borrowing a small amount of olive oil from the recipe’s batch oils, I dispersed the “Yellow Vibrance” mica into it. Dispersing micas in a bit of light carrier oil beforehand will help make adding them to soap batches much easier, smoother, thorough, and more efficiently, later on.


With the recipe’s additives now prepared, we’ll move on to getting the batch oils ready to be turned into soap! The stars of this recipe are, of course, its three milks, so if you have a favorite, tried-and-true recipe that you’d prefer to use in place of the recipe provided below, you’re completely free to do so! Whether you use an alternative recipe, or the one I’ve shared here, your finished soaps will turn out awesome either way! When it comes to preparing the batch oils, the first thing we’ll want to do is get those hard oils weighed out, combined and fully melted. Hard oils are those fats within a soap recipe which are generally solid at room temperature. For this specific recipe, that means weighing out and combining 9.6 ounces (30%) RSPO palm oil with 8 ounces (25%) of coconut oil. After heating the hard oils, give the mixture a good stir to ensure everything has melted thoroughly.

Next, we’ll weigh out and combine the soft oils with the recipe’s melted hard oils. Soft oils are those fats within a soap recipe which are generally liquid at room temperature. For this recipe, that means weighing out and combining 11.2 ounces (35%) olive oil (Minus the small amount we “borrowed” to disperse “Yellow Vibrance” mica into.) with 3.2 ounces (10%) of castor oil. At the end of a four to six week curing period, this recipe will produce super-hard bars of soap with lovely moisturizing properties and an abundance of big, fluffy lather.

 If you’d like to make any changes or substitutions to this recipe, an easy way to go about doing so (with any recipe really) is to keep in mind one simple guideline: Substitute hard oils with hard oils, and soft oils with soft oils. For example, let’s say you’d like to substitute the 30% palm oil for something different. Palm oil is a hard oil, so another hard oil would work best in its place. You could use lard or tallow, as substitutions as these can be swapped with palm oil at equal usage rates. Alternatively, you could also opt to use a combination of butters instead. Butters like shea butter (up to 20%), cocoa butter (up to 15%), mango butter (up to 15%), or any other butter that suits your preferences, will all work great!

For another example, let’s say you’d like to reduce the amount of castor oil in this recipe to 5%, rather than employ the 10% usage rate it currently calls for. Since castor oil is a soft oil, you can take that remaining 5% and add it to the olive oil in this recipe, thereby increasing its usage rate from 35% to 40%. You could also choose to bring in an additional soft oil altogether, making up the 5% difference that way. Soft oils like avocado oil, rice bran oil, sunflower seed oil, sweet almond oil, etc., all make excellent options!

When it comes to changing or adjusting the properties of a soap recipe; such as increasing the general hardness of the bar for example, an increase in its hard oils will do just that! As it is, this specific recipe has a ratio of 55% total hard oils to 45% total soft oils. Decreasing the recipe’s total soft oils, while subsequently increasing its total hard oils, will yield a harder bar of soap. But what if a supremely moisturizing bar of soap is more your cup of tea? No problem! An increase in the recipe’s superfat and/or soft oils will also bump up its moisturizing properties too. Knowing the individual properties your favorite soap making oils/fats impart to handmade formulations, as well as their recommended usage rates, will enable you to effortlessly formulate soap recipes you love- from scratch! Additionally, having this knowledge will empower you to take any existing cold process soap recipe, and easily tailor it to highlight the qualities you desire most in your handmade creations! Just remember to run these recipes through a lye calculator whenever you’ve made any changes, adjustments, or substitutions to them.

And now, returning to the project! So, we’ve weighed out, melted down and thoroughly combined all of our batch oils, allowing them to cool down to anywhere between 85 to 90 degrees Fahrenheit. Our lye solution has also cooled, and has reached temperatures ranging anywhere between room temperature to 90 degrees Fahrenheit. Our three milks and additives have been weighed out and/or prepared, and are ready to go as well. What’s next? Well, we can now gently stir the sodium lactate into the cooled lye solution, then get ready to keep the inspiration flowing... It’s tres leches soap-makin' time!


Since our ingredients have cooled down to the perfect soap making temperatures, we don’t have to worry about our milks becoming scorched by the lye. After stirring the sodium lactate directly into the cooled lye solution, we can proceed by adding those lusciously creamy milks directly to the cooled batch oils. Use a spatula to get every last drop of milk added to the oils, then use said spatula to give this mixture a quick stir.

Next, we’ll incorporate the pre-dispersed mica colorant. Since we’re using just one mica to color the entire batch of soap, we can go ahead and add the full amount of “Yellow Vibrance” mica directly to the batch oils, then give everything a good stir with our handy-dandy spatula again.

Once we’ve added the three milks and “Yellow Vibrance” mica to the batch oils, we can continue by incorporating the lye solution next. Do this with intention and attentiveness so as to avoid any accidental spills or splashes. Lye need not be feared, simply respected. After carefully pouring the lye solution into the batch oils, give this mixture one last, gentle stir. Grab your immersion blender, give it a good “burping” to bring any trapped air bubbles to the surface, then begin blending.

Since “Frangipani Jasmine” fragrance oil behaves so well in cold process soap, and since we’re keeping this soapy design sweet and simple, we can go ahead and blend the soap batter to a slightly thicker trace. However, we want to be able to pour the soap batter while it’s still nice and workable too, without needing to beat any stubborn air pockets into submission! Setting the stick blender aside once you’ve reached a light to medium trace is a good stopping point. We can now add the kaolin clay slurry (fragrance oil and clay mixture) to the soap batter, giving it one last mix with a mini-mixer first. Time to go back to that trusty spatula again!

Thankfully, “Frangipani Jasmine” fragrance oil isn’t one of those tricksters that needs to be stirred into soap batter quickly, then immediately dumped into a mold as fast as possible. We can actually take our time to get that lovely aroma thoroughly stirred into the soap batter by hand. Well, don’t use your hand, but you know what I mean! Once “Frangipani Jasmine” fragrance oil has been fully and satisfactorily incorporated into the soap batter, we can proceed by getting this beautiful batch poured! If you find that the soap batter is still a touch too thin once your mold has been filled to the very top, give it a few minutes to thicken up some. Once its thickened up a little, gently spoon any remaining soap batter on top.

Have fun with the top of your soap! For me, soft peaks and milk-like waves of texture seemed like a fun way to finish the batch and give it that handmade touch; but any way you’d like to swirl or texture the top of your own fabulous batch of soap is entirely up to you! There’s truly no right or wrong way to do it; what matters most is enjoying the process! After you’re happy with how you’ve styled the top of your soap, all that’s left to do is insulate the batch overnight, then give yourself a high five for completing an awesome batch of “Tres Leches y Jazmìn” handmade soap- from me, of course!


So, there you have it my soapy companions; tres leches soap, literally inspired by a delicious tres leches cake! Of course, one of the best parts of this project is getting to unmold and cut the batch, but the absolute best part of all will happen in four to six weeks, when you lather-up with one of those silky, milky bars, and immerse your senses in its heavenly bouquet of plumeria and jasmine flowers!

I had two goals for this project; hopeful outcomes which spurred on the initial inspiration for it. The first goal being that I wanted to create a batch of soap that looked as pure, gentle, and simple as its skin-loving ingredients were. I’ve made quite an array of soap batches in my day... From colorful and complex, to intricately detailed, all the way to downright outlandish! I’ve loved every single one of them! For this batch however, I really wanted to celebrate the unique beauty that can only be found in simplicity.

My second goal for this project was to create a recipe that anyone would enjoy making. Whether it be the very first batch of soap someone felt inspired to make, or one amongst hundreds of batches already made; I wanted all crafters, from any point in their personal soap making journey, to see a recipe worth making... One worth feeling that one-of-a-kind, exclusive joy we all know, love, and call “soap making”! For all the incredible crafters out there in this big, crazy-beautiful world of ours, I hope I was able to accomplish that!


*Formulated for a batch size of 32oz (2LB) of oils. If making any changes, substitutions and/or batch size increases, please remember to run the recipe through a lye calculator. “PPO” = Per Pound of Oils.

  • Sodium Hydroxide (Lye) at Approximately 5% Superfat = 4.5oz
  • Distilled Water = 4.5oz
  • Almond Milk = 1.5oz
  • Coconut Milk = 1.5oz
  • Oat Milk = 1.5oz

*The total liquid amount above equals 9oz; a 33.33% lye concentration, OR 2:1/liquid: lye.

  • 35% Refined Olive Oil = 11.2oz
  • 30% RSPO Palm Oil = 9.6oz
  • 25% Coconut Oil = 8oz
  • 10% Castor Oil = 3.2oz
  • 6% (Approx.) “Frangipani Jasmine” Fragrance Oil = 1.9oz
  • 3% (Approx.) Sodium Lactate = 0.95oz
  • ½ to 1 TBS/PPO: White Kaolin Clay = 1 - 2TBS (Generous)
  • 1tsp/PPO: “Yellow Vibrance” Mica = 2tsp