Pani Popo are soft and delicious Samoan coconut buns baked in a luxurious coconut sauce. Meet your dinner-rolls-on-steroid with golden brown top, fluffy cloud-like interior, swimming in a pool of creamy coconut sauce.

My first time trying Pani Popo was at a Hawaiian festival called Heritage of Aloha in Southern California. We go every year mostly for the amazing food, but of course there are lots of fun activities, performances, and awesome vendors you can check out if you ever have a chance to attend. During the few years that the festival took a hiatus, I had no choice but to come up with my own Pani Popo recipe to get me through the days.
I used my easy milk bread dough but increased the quantity of the recipe for that super soft and fluffy texture. And then the dough is baked in a pool of the same coconut sauce that I also used in this macadamia coconut rolls recipe.
Table of Contents
Helpful tools
You can use a stand mixer with the dough hook to make your bread dough. It is possible to make the dough by hand but it does make it a lot easier with a mixer.
A thermometer is useful to check the liquid temperature before activating the yeast in the warm liquid. But you can get by without one.
Ingredients and substitutions
As always, you’ll find the complete list of ingredients and quantities in the recipe card at the end of this post. Below are some notes and substitution tips:
- Heavy cream – because the bread dough is made with just milk and heavy cream, no eggs, no butter, the heavy cream provides all the fat and richness, so I don’t recommend substituting with all milk. You can use half and half to replace both the cream and milk together.
- Milk – whole milk or 2% milk will work, or half and half to replace both the milk and cream.
- Sugar – I used granulated sugar in this recipe but brown sugar will work too.
- Yeast – you can use active dry yeast or instant yeast. Both will work just fine in the bread. Even with instant yeast, I usually activate it the same way I do active dry yeast to make sure it is working properly before preparing the bread dough.
- Salt – I use kosher salt. You can use table salt but use half as much.
- Flour – AP flour is just fine for this recipe.
- Coconut milk or coconut cream – make sure it is canned coconut milk and not coconut milk from the carton. The higher fat content of canned coconut milk or cream makes a richer and more delicious sauce.
- Cornstarch – a small amount is used to thicken the coconut sauce.
How to make Pani Popo from scratch
The following instructions, step-by-step photos, and tips are here to help you visualize how to make the recipe. You can always skip straight to the printable recipe card at the end of this post.
Make the bread dough
First, heat your cream, milk and sugar in a saucepan until the sugar dissolves and the mixture is simmering but not boiling. Let it cool down to about 110°F — if you don’t have a thermometer, check with your finger, the liquid should feel warm to the touch but not hot. Sprinkle in the the yeast, and let it sit for 5-10 minutes until puffy, that’s the sign the yeast is working!

Tip: It’s okay with the liquid is cooler than 110°F, you just don’t want it to be too hot since that can kill the yeast. Use this method for both active and instant yeast.
Mix together your flour and salt in a separate bowl. Add your yeast mixture and your dry ingredients to your stand mixer bowl. Knead with the dough hook until the dough comes together, about 10 minutes and up to 20 minutes.

Tip: It is helpful if you have a stand mixer to make this dough. However, you can certainly make it by hand, mix the dough with a spatula or wooden spoon.
Form a ball and place the dough into an oiled bowl. Let the dough rise until at least double in size, 1 to 2 hours.

Tip: The dough may be a little bit sticky at this stage. Try not to add too much flour while shaping it. After the first rise, it will be less sticky.
Form the buns
Once the dough doubled in size, turn it out on a lightly floured surface and divide into 12 equal portions. Roll them into balls and place into a buttered 9”x13” baking dish. Let them rise for the second time until doubled in size.

Make the coconut sauce
You should prepare the sauce while waiting for the buns to rise the second time in the baking dish. First, make the cornstarch slurry by dissolving the cornstarch with a bit of coconut milk.

Then, cook the remaining coconut milk with sugar and a pinch of salt until simmering, drizzle in the cornstarch slurry and continue cooking until thickened, like this Haupia coconut pudding but not as thick!

Bake your pani popo
When the buns have doubled in size and puffy, they are ready to go into the oven, pour the coconut sauce all over the buns. Bake until golden brown.

Make ahead tips
Option 1: This bread dough can be made 2 – 3 days ahead and allow to rise slowly under refrigeration for its first rise. So after you take the dough out of the stand mixer and form the dough ball, instead of letting the dough rise in a warm spot, cover and refrigerate it. When you are ready to bake, let the dough come to room temperature and continue with the rest of the instructions.
Option 2: If you want fresh pani popo for Sunday brunch instead of dinner, you can prepare the dough the night before, form the buns in the baking pan and let them rise overnight in the refrigerator. Take the buns out in the morning and let them come to room temperature and finish rising. Make the coconut sauce while you wait and then bake.
If you love these buns for brunch, I think you’ll also enjoy this coconut swirl brioche and these Chinese-bakery-inspired coconut buns.
Storage
These coconut buns can be kept at room temperature for 2 – 3 days, wrap tightly. They can also be refrigerated for up to a week. Warm them up in the microwave for about 20 – 30 seconds before serving.

Hungry for more?
The Softest and Fluffiest Pani Popo

Equipment
- 9"x13" Baking Pan
- Thermometer
Ingredients
Dough
- ¾ cup heavy whipping cream, 180 g
- ¾ cup milk, whole or 2%, 180 g
- 6 tablespoon granulated sugar
- 1 ½ teaspoon active dry yeast
- 1 teaspoon kosher salt
- 3 cup all-purpose flour, 390 g
- Additional flour for rolling
- Melted butter for baking dish
Coconut Sauce
- 1 can coconut milk, or coconut cream, 13.5 oz
- ⅓ cup granulated sugar, or brown sugar, 65 g
- A pinch of kosher salt
- 1 tablespoon cornstarch
Instructions
Prepare the buns
- Add cream, milk and granulated sugar to a small saucepan and bring to a simmer over medium heat, stirring constantly, about 5 minutes. Transfer to the stand mixer bowl and allow the mixture to cool down to below 110°F, check with a thermometer.
- Sprinkle active dry yeast over the top of the milk mixture, stir and let it bloom for about 10 – 20 minutes. The mixture should visibly puff up.
- In another mixing bowl, sift the flour and stir in the salt. Add the flour mixture to the liquid mixture and knead with the dough hook on low speed until everything is incorporated and a wet dough forms.
- Scrape the dough out onto a floured countertop and knead a few times to form a ball. Place the dough ball into an oiled large bowl, cover with plastic, and allow it to rise in a warm spot until doubled in size, about 2 hours.
- Melt a tablespoon of butter and brush it all over your baking dish and set aside.
- When the dough is ready, dump it out onto a floured countertop and divide it into 12 equal portions. You can eyeball this step or use a scale to be exact, each buns is about 67 grams or about 2 ⅓ oz.
- Shape each portion into a round bun and place them into the buttered 9”x13” baking dish and allow them to rise for another hour until double in size.
Make the coconut sauce while the buns are rising
- Whisk the cornstarch with about ¼ cup of room temperature coconut milk until completely dissolved. Set aside.
- Add the remaining coconut milk to a small saucepan along with sugar and salt. Cook over medium heat, stirring frequently until the sugar dissolves completely and the mixture starts to simmer.
- Drizzle the cornstarch mixture into the simmering coconut milk, stirring constantly. Continue to cook for another 2 – 3 minutes until the sauce starts to thicken. Take it off the heat and set it aside to cool a bit.
Bake the buns
- When the buns have doubled in size, preheat the oven to 400°F.
- Drizzle at least 1 cup of coconut sauce over all of the buns and bake for 20 – 25 minutes until the top is golden brown.
- Take the buns out of the oven, allow to cool slightly before serving. Serve with the remaining coconut sauce.
Notes
- The dough can be made without a stand mixer, just mix the flour into the liquid with a spatula or wooden spoon and knead by hand.
- This dough is very soft and sticky when it first comes out from the mixing bowl. Try not to add too much flour when handling it. After the first rise, it will be much less sticky and easier to handle.
- Be sure to use canned coconut milk for the sauce and not coconut milk in the carton.
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.
Like this recipe? Rate & comment below!This post may contain affiliate links. For more details on how we utilize affiliates, ads, and sponsored content, see our full disclosure policy. Thank you for your continued support, which enables us to keep bringing you delicious recipes, at no extra cost to you.














I made this for the first time. I’m from Guam and was missing the islands. This recipe was a hit Trang! I tried something different with the dough, by using half bread flour and AP ( I was low on AP), then I formed the dough into rose shapes instead of the traditional round shape. I was worried that rolling it with a pin would change the texture but it didn’t. My family loved it and this is my new go to. Soft, fluffy, and super moist! Thank you for not gatekeeping this recipe, you’re a gem! Si yu’us Ma’ase!
Thank you, Maricel! I’m so glad you found this recipe and that it was a hit with your family. You have to send me a photo next time, I want to see your beautiful rose-shaped rolls. 🙂
Thank you! I would love to send you some pics. I can’t figure out how to post it here in the comments though. Maybe you can tell me how to.
Thank you, Maricel. I don’t have to ability to upload photos in the comments but please do send it to me via email! I’d love to see your creation and perhaps do a reader roundup feature in the future in my newsletter 🙂
So far so good, I had them rise by a hot oven for an hour and they seem to grow a little bit! I have them proofing in the oven right now with hot water for another 30 mins. I think that should do the trick! Thankfully the dough didn’t die in the fridge. Great recipe, thank you!!
Oh good, I’m glad to hear! You’ll love these for sure, they are our favorites!
Sounds wonderful Trang!
This was my first attempt at panipopo. I love to bake, so I read thru several recipes before choosing this one. It was a homerun with my Samoan family! The rolls were pillowy soft. For the coconut sauce, I added a little more corn starch than the recipe calls for and I will add a little more the next time. I’d like it a little thicker. Otherwise, great recipe! Fa’afetai lava!
Hi Tracey! Your 5-star reviews means so much to me, especially that it was a hit with your family and that you chose mine over several other!!! Thank you so much for taking the time to review this recipe and let me know how you added more cornstarch.
Aloha,at what speed do i use if i’m using a stand mixer and for how long?..thank u 🙏🏽
Hi Natasha, I specified low speed in the recipe card, step 3 under “prepare the buns”. I use my stand mixer with the dough hook. It could take up to 10 minutes, more or less.
thank you soooooo much 🙏🏽..I’ve tried different recipes and yours is the BEST..I just had to double the sauce because my family loves extra sauce..
Thank you so much Natasha!!! Your comment makes my day and we love this recipe too so much.
I have tried many different recipes of Pani Popo. This is by far our family’s favorite recipe. Some recipes the buns are too thick of a consistency or the coconut sauce is too sweet. This recipe is perfect. The buns are melt in your mouth and the coconut sauce has a hint of sweetness that hits the spot perfectly. This recipe is PERFECTLY ONOLICIOUS.
So happy to hear you and your family enjoy this recipe! 🙂