If there’s one smell that takes me right back to my childhood, it’s the sweet, savory aroma of steamed buns. I grew up in the whirlwind of my family’s Sichuan restaurant, a place where my parents first met and worked side-by-side for over 20 years. My dad, a professional chef for three decades, ruled the kitchen, and I was his little shadow, absorbing the sights and sounds of a bustling restaurant. While our menu was filled with the fiery flavors of Sichuan, my travels across China taught me to love the subtleties of all its regional cuisines.

And that’s where Char Siu Bao comes in. These Cantonese BBQ Pork Buns are a true icon of dim sum. I’ve had them in bustling teahouses in Guangzhou and from street vendors in Hong Kong, but the version I’m sharing today is pure homestyle comfort. It’s the kind of recipe that’s been tweaked and perfected in a family kitchen, focusing on wholesome ingredients and incredible flavor rather than the chemical leaveners some restaurants use to get that signature “burst.”
This recipe is a love letter to my journey as a chef—from my family’s kitchen to culinary school and beyond. It’s about creating something truly special and delicious that you can feel good about serving to your own family. So, let’s get steaming!
What is Steamed BBQ Pork Buns (Char Siu Bao / 叉烧包)?
Char Siu Bao (叉烧包) are a staple of Cantonese cuisine and a star player in any dim sum spread—often called one of the “Four Heavenly Kings” of the brunch table. They consist of a soft, fluffy, and slightly sweet steamed bun filled with a savory, sticky, and deeply flavorful BBQ pork filling known as char siu. The filling is diced pork simmered in a rich sauce that’s the perfect balance of sweet and savory. This homestyle version creates an impossibly soft and juicy filling that will have you reaching for a second bun before you’ve even finished the first.
Why This Recipe Works
- Authentic Homestyle Flavor: We skip the baking powder and ammonia powder often used in restaurants for a healthier bun that relies on a well-developed dough for its soft, pillowy texture.
- Insanely Juicy Filling: Slowly stewing the pork and then thickening the sauce with a starch slurry creates a rich, glossy, and incredibly moist filling that doesn’t dry out.
- Soft, Fluffy Dough: A simple, enriched dough kneaded until perfectly smooth results in a tender, slightly chewy bun that beautifully complements the rich filling.
- Beginner-Friendly Shaping: I’ll show you a clever trick using a soup spoon to create beautiful pleats—no expert-level folding skills required!
Key Ingredients for Perfect Char Siu Bao
A great bun starts with the right ingredients. Here’s a breakdown of the essentials and why they matter.
- The Pork: I highly recommend using pork shoulder (also known as Boston butt). It has the ideal ratio of fat to meat, which is crucial for a tender and juicy filling. The fat renders down during the slow simmer, enriching the sauce and keeping the pork incredibly moist.
- The Sauce: The heart of the filling is the sauce.
- Char Siu Sauce: This is a thick, sweet, and savory Cantonese BBQ sauce. You can find it in most Asian supermarkets or online. Lee Kum Kee is a reliable and widely available brand. For the ultimate flavor, I’ve also included a recipe for a homemade version below!
- Oyster Sauce: Adds a deep, savory umami flavor that is essential for many Cantonese dishes.
- Light & Dark Soy Sauce: Light soy sauce (like Kikkoman) provides the primary salty, savory flavor. A touch of dark soy sauce is mainly for color, giving the filling its signature rich, reddish-brown hue.
- The Aromatics: Ginger, garlic, scallions, and onion form the fragrant foundation of the filling. Sautéing them releases their oils and infuses the entire dish with incredible depth.
- The Dough: Our dough is simple.
- All-Purpose Flour: Provides the perfect balance of softness and structure. No need for specialty flour here.
- Instant Yeast: Makes the dough rise reliably. Be sure to check the expiration date on your yeast!
- Fat (Oil or Lard): A little bit of fat makes the dough softer and more tender. Lard will give a more traditional flavor and flakier texture, but any neutral oil like sunflower or canola oil works perfectly.
Equipment You’ll Need
- Wok or Large Skillet: For preparing the filling.
- Stockpot, Dutch Oven, or Pressure Cooker: For simmering the pork filling. A pressure cooker can significantly speed up this step.
- Stand Mixer (Optional): Helpful for kneading the dough, but I’ve included instructions for kneading by hand.
- Steamer: A multi-level bamboo steamer is traditional and works wonderfully. A metal steamer insert in a large pot also works just fine.
- Kitchen Scale: For accurate measurements, especially for the dough, which will yield the most consistent results.
Recipe Notes Before We Begin
- Plan Ahead: This recipe has several components and requires time for the filling to cook and chill completely. I recommend making the filling a day ahead to break up the process. Chilling the filling is not optional—it solidifies the sauce, making it much easier to wrap the buns.
- Dough Hydration: The amount of water in the dough can vary slightly depending on your flour and the humidity in your kitchen. Be prepared to add a teaspoon more water or flour if needed to get a soft, tacky (but not sticky) dough.
- Don’t Overfill: It might be tempting to stuff the buns, but using a moderate amount of filling (about 1 to 1.5 tablespoons) makes them easier to seal and ensures a good bun-to-filling ratio.
How to Make Homestyle Char Siu Bao
This process is broken down into three main stages: making the filling, making the dough, and assembling/steaming the buns.
Part 1: Make the Char Siu Filling
Mise en Place: Get all your ingredients prepped and measured before you start cooking. The stir-frying process moves quickly!
- Prep the Pork & Aromatics: Cut the pork shoulder into small, “fingernail-sized” cubes. Finely chop the aromatics: slice the ginger, smash the garlic, dice the onion, and chop the scallions.


- Mix the Sauce: In a bowl, whisk together the Char Siu sauce, oyster sauce, light soy sauce, dark soy sauce, Shaoxing wine, and honey. Set aside.


- Make the Slurry: In a separate small bowl, mix the sweet potato starch (or cornstarch) with water until smooth. This will be used to thicken the sauce later.

- Sear the Pork: Heat a wok or large skillet over medium-high heat. Add a small amount of oil. Add the pork cubes and stir-fry until they are browned on all sides and have rendered some fat. This searing step builds a deep flavor foundation.



- Sauté the Aromatics: Add the ginger and garlic to the wok and stir-fry for about 30 seconds until fragrant. Add the prepared sauce mixture and stir to coat the pork evenly.



- Simmer: Add the diced onion and scallions, stir-fry for another minute, then add about two large bowls of water (enough to generously cover the pork). The filling needs to be juicy!

- Cook the Filling: Transfer the mixture to a stockpot or Dutch oven. Bring to a simmer, then reduce the heat to low, cover, and let it gently stew for 1.5 hours until the pork is tender.
- Pressure Cooker Method: Alternatively, use a pressure cooker. Bring to pressure and cook on medium-low for about 10 minutes. Be careful not to overcook, as you want tender cubes, not shredded pork.

- Thicken and Chill: Return the stewed pork and its sauce to the wok and bring to a boil. Stir the starch slurry again, then pour it in while stirring constantly. Cook until the sauce thickens to a glossy, gravy-like consistency that coats the pork. Remove from heat and let it cool completely. Once cool, transfer to an airtight container and refrigerate for at least 2-4 hours, or preferably overnight.



Part 2: Make the Bao Dough
- Combine Ingredients (Stand Mixer): In the bowl of a stand mixer fitted with a dough hook, combine the all-purpose flour, sugar, instant yeast, oil (or lard), and water.

- Knead: Mix on low speed until a shaggy dough forms, then increase the speed to medium-low and knead for 10-12 minutes. The dough should be very smooth, soft, and elastic.
- By Hand: In a large bowl, mix the dry ingredients. Make a well in the center and add the wet ingredients. Mix with chopsticks or your hands until a shaggy dough forms. Turn it out onto a lightly floured surface and knead for 15-20 minutes until smooth and elastic. You can rest the dough for 5 minutes a few times during kneading to make it easier to work with.
- First Rest: Cover the kneaded dough and let it rest for 15-20 minutes. This allows the gluten to relax, making it easier to shape.

Part 3: Assemble and Steam the Buns
- Divide the Dough: Roll the rested dough into a long, even log. Cut it into 20 equal pieces, about 35-40g each. Keep the pieces covered with plastic wrap or a damp cloth to prevent them from drying out.



- Shape the Wrappers: Take one piece of dough and roll it into a smooth ball. Flatten it with your palm and use a small rolling pin to roll it into a disc about 3-4 inches (8-10 cm) in diameter. Keep the center slightly thicker than the edges.

- Fill the Buns: Place about 1-1.5 tablespoons of the chilled pork filling in the center of the wrapper.

- Seal the Buns: Gather the edges of the dough up and around the filling, pleating as you go. Pinch the top firmly to seal. Don’t worry if your pleats aren’t perfect! The most important thing is a tight seal so the juicy filling doesn’t leak. Place the bun seam-side down.

- Create the Pleats (Spoon Trick!): Now for the fun part! Take a regular soup spoon. Press the edge of the spoon into the side of the bun at an angle to create an indentation like a pleat. Rotate the bun and repeat, creating a pattern all the way around. Gently reshape the bun with your hands to make it round.




- Proof the Buns: Place the shaped buns on individual squares of parchment paper inside your steamer basket, leaving 1-2 inches of space between them for expansion. Cover the steamer and let the buns proof in a warm place for 20-40 minutes, or until they have risen to about 1.5 times their original size and feel light and airy to the touch.


- Steam: Add water to your pot or wok, place the steamer on top, and cover. Turn the heat to high. Once the water is boiling and steam is rising, reduce the heat to medium and steam for 8 minutes.


- Rest and Serve: Turn off the heat and let the buns rest, covered, for 3-5 minutes before opening the lid. This crucial step prevents them from collapsing. Carefully remove the lid, letting the steam escape away from you. Serve the buns warm!


Serving Suggestions
These Char Siu Bao are a meal in themselves but are also wonderful as part of a larger spread.
- Dim Sum Style: Serve alongside other dim sum favorites like Homestyle Sticky Rice Shumai (糯米烧麦) and a pot of hot jasmine or oolong tea.
- With a Side: For a light lunch, pair a couple of buns with a crisp, tangy Easy Smashed Cucumber Salad (拍黄瓜).
- For Breakfast: Enjoy them with a bowl of simple rice porridge (congee) for a traditional and comforting start to the day.
How to Store and Reheat
- Storing: Once cooled completely, store leftover steamed buns in an airtight bag or container in the refrigerator for up to 3 days.
- Freezing: These freeze beautifully. Place the cooled, cooked buns on a baking sheet in the freezer until solid, then transfer them to a freezer bag. They will keep for up to 2 months.
- Reheating: To reheat, simply steam the buns (fresh or frozen) for 5-8 minutes until heated through. They will taste just as soft and delicious as when they were freshly made.
Allergen Information
- Contains Gluten: This recipe contains wheat in the flour and soy sauce.
- Contains Soy: Found in the soy sauce and oyster sauce. For a gluten-free option, you can use tamari in place of soy sauce, but the dough will still contain gluten.
Frequently Asked Questions (FAQ)
1. Why did my buns wrinkle or collapse after steaming?
This usually happens for two reasons: opening the lid too quickly after steaming (the sudden temperature change causes them to deflate) or over-proofing the dough. Make sure to let them rest for 3-5 minutes before uncovering.
2. My filling seems too runny to wrap. What did I do wrong?
The filling absolutely must be chilled thoroughly. The cold temperature solidifies the fats and the gelatinized starch in the sauce, turning it from a liquid into a scoopable, semi-solid mass. If it’s still runny, it wasn’t chilled long enough.
3. Can I use bread flour instead of all-purpose flour?
You can, but the texture will be chewier and less fluffy. All-purpose flour gives the best result for this style of soft, tender bun.
4. My dough didn’t rise. What happened?
This is typically a yeast issue. Your yeast may have been expired, or the water used to activate it was too hot (which kills the yeast) or too cold (which slows it down significantly).

Homestyle Steamed BBQ Pork Buns (Char Siu Bao / 叉烧包)
Equipment
- 1 Wok or large skillet
- 1 Pressure cooker or Dutch oven
- 1 Stand mixer (optional)
- 1 bamboo or metal steamer
- 1 Rolling Pin
Ingredients
For the Char Siu Filling
- 1 lb pork shoulder (500g)(Boston butt), cut into small cubes
- ⅓ cup Char Siu sauce (70g)(store-bought like Lee Kum Kee or homemade)
- 1 ½ tbsp oyster sauce (18g)
- 1 ½ tsp Shaoxing wine (8g)(can substitute with dry sherry)
- 1 ½ tsp light soy sauce
- 2 tbsp honey (25g)
- 1 tsp dark soy sauce (6g)
- 3 slices ginger (8g)
- 3 cloves garlic smashed
- 4 scallions chopped
- ½ small onion diced
- 1 tbsp sweet potato starch (5g)(or cornstarch)
- 3 tbsp water (25g)
- 2 cups water (for simmering)
- 1 tbsp vegetable oil
For the Bao Dough
- 4 cups all-purpose flour (500g)
- 1 cup water lukewarm
- 2 tbsp granulated sugar (20g)
- 1 tsp instant yeast (4g)(use 1.5 tsp / 6g in winter)
- 1 tbsp sunflower oil (15g) or pork lard
For the Homemade Char Siu Sauce (Optional)
- ½ cup scallion whites (60g)finely chopped
- ⅔ cup onion (80g)finely chopped
- 5 cloves garlic minced
- ¼ cup water (50g)
- ¼ cup light soy sauce (60g)
- ¼ cup oyster sauce (60g)
- 2 tsp fish sauce (10g)
- ⅓ cup granulated sugar (70g)
- 1 ½ tsp red yeast rice powder (6-8g)(for color, optional)
- 2 tsp sweet potato starch sweet potato starch(10g) or cornstarch mixed with ¼ cup (50g) water
Instructions
Make the Filling
- Prepare: Cut the pork into small cubes. In a bowl, combine the Char Siu sauce, oyster sauce, light soy sauce, dark soy sauce, Shaoxing wine, and honey. In a separate small bowl, mix the starch and water to make a slurry.
- Sear Pork: Heat oil in a wok over medium-high heat. Add the pork and sear until browned. Add the ginger and garlic and stir-fry until fragrant (~30 seconds).
- Simmer: Pour in the sauce mixture and stir to coat. Add the onion and scallions. Add the 2 cups of water and bring to a boil.
- Cook: Transfer to a Dutch oven and simmer on low for 1.5 hours, or cook in a pressure cooker for 10 minutes, until the pork is tender.
- Thicken: Return the mixture to the wok. Bring to a boil and stir in the starch slurry. Cook, stirring constantly, until the sauce is thick and glossy.
- Chill: Cool completely, then refrigerate for at least 2-4 hours or overnight until firm.
Make the Dough
- Mix: Combine flour, sugar, and yeast in a mixing bowl. Add the water and oil/lard.
- Knead: Knead with a dough hook for 10-12 minutes or by hand for 15-20 minutes until the dough is very smooth and elastic.
- Rest: Cover the dough and let it rest for 15-20 minutes.
Assemble & Steam
- Divide: Roll the dough into a log and divide it into 20 equal pieces. Keep them covered.
- Shape: Roll each piece into a 3-4 inch circle, thicker in the center.
- Fill & Seal: Place 1-1.5 tbsp of cold filling in the center. Gather the edges and pinch firmly to seal. Place seam-side down. Use a spoon to press decorative pleats around the sides if desired.
- Proof: Place buns on parchment squares in a steamer basket, spaced apart. Cover and let them rise in a warm place for 20-40 minutes, until about 1.5x their size.
- Steam: Place the steamer over a pot of water. Bring to a boil, then reduce heat to medium and steam for 8 minutes.
- Rest: Turn off the heat and let the buns sit, covered, for 3-5 minutes before opening the lid. Serve warm.
Notes
- Sticky Buns?: To prevent buns from sticking, make sure to use parchment paper squares underneath each one. You can also lightly oil the steamer rack.
- Homemade Sauce: To make the homemade sauce, sauté the aromatics in oil for 6-7 minutes until soft. Add all other sauce ingredients except the starch slurry, bring to a simmer, then thicken with the slurry.
- Calories: 185 kcal
- Carbohydrates: 28g
- Protein: 8g
- Fat: 4g
- Sodium: 350mg
Real Comments from Our Readers
⭐⭐⭐⭐⭐
“I finally found it! This is the Char Siu Bao recipe I’ve been searching for. The filling is so juicy and flavorful, not dry at all like some other recipes I’ve tried. The spoon trick for the pleats is genius! My family devoured them. Thank you!” – Jennifer P.
⭐⭐⭐⭐
“As a beginner to making steamed buns, I was a little intimidated, but your instructions were so clear and easy to follow. I made the filling the day before, which really helped. They came out so soft and fluffy! Will definitely be making these again.” – Mike D.
⭐⭐⭐⭐⭐
“I made the homemade char siu sauce and WOW, what a difference. The depth of flavor is incredible. This recipe is a keeper. It takes some time, but it’s 100% worth it for buns that taste this good. Tastes just like the ones from my favorite dim sum place.” – Mei L.











Leave a Reply