There are bakeries you remember forever. The ones you discovered on a humid afternoon in Kuala Lumpur, or a bustling corner in Jakarta, where the scent of freshly baked bread and strong kopi pulled you in like gravity. And there, gleaming under the warm lights, were them: golden, craggy-topped buns radiating an aroma so distinct, so intoxicating, you joined the queue without thinking.
Roti O. Roti Boy. The coffee bun.
That first bite is seared into memory. Your teeth break through the crackly, butter-crisp coffee crust. You sink into clouds of impossibly soft, pillowy milk bread. And then—the surprise. A cold, salted butter heart, just beginning to melt, pooling quietly into the warm crumb around it.
It feels like bakery magic. Something you admire from afar, never daring to attempt at home.
Here’s the beautiful truth: you absolutely can make these. With the right guidance, they are not only achievable but genuinely forgiving. This recipe distills years of home-baker experimentation into a clear, methodical path to Roti O perfection—right in your own kitchen, no commercial oven required.
Why Roti O / Roti Boy Is Worth Mastering
Let’s articulate what makes this bun utterly irresistible:
The bread. This is not ordinary dinner roll dough. It’s an enriched milk bread, powered by the tangzhong method, that remains ethereally soft for days. It yields without resistance, tears like a fresh cloud.
The crust. That signature coffee topping is a paradox: crisp and shattery on the surface, tender underneath, intensely aromatic with real coffee bitterness balanced by butter richness. It cracks beautifully during baking, creating that rustic, handmade charm.
The heart. A cube of good, salted butter, hidden within and transformed by oven heat into a molten, golden core. It’s the moment of discovery that elevates a great bun into a legendary one.
The achievement. Mastering Roti O at home is a genuine baking milestone. It impresses everyone—your family, your guests, yourself. And unlike the mall kiosk version, yours is made with real ingredients, real butter, and absolutely no preservatives.
Ingredients – Divided & Precise
This recipe has three distinct components. Prepare each separately; they come together at the end.
A. Soft Bread Dough
| Ingredient | Amount | Notes |
|---|---|---|
| Bread flour | 350 g | High protein (12%+); crucial for softness |
| Cake flour | 50 g | Lowers protein for tenderness |
| Granulated sugar | 55 g | |
| Instant yeast | 6 g | 1½ tsp |
| Salt | 5 g | 1 tsp |
| Whole milk | 180 ml | Lukewarm (not hot) |
| Egg | 1 large | Room temperature |
| Unsalted butter | 40 g | Softened, cubed |
| Tangzhong starter | See below |
B. Tangzhong Starter
| Ingredient | Amount |
|---|---|
| Bread flour | 25 g |
| Water | 75 ml |
| Whole milk | 50 ml |
C. Butter Filling
| Ingredient | Amount | Notes |
|---|---|---|
| Unsalted butter | 80 g | Cold, cut into 12 cubes |
| Pinch of salt | If using unsalted butter |
D. Signature Coffee Topping
| Ingredient | Amount | Notes |
|---|---|---|
| Unsalted butter | 100 g | Softened |
| Icing sugar | 70 g | Sifted |
| Egg | 1 large | Room temperature |
| Instant coffee powder | 15 g | Dissolved in 1 tbsp hot water |
| Cake flour | 70 g | Sifted |
| Milk powder | 15 g | Optional, for creaminess |
Yield: 12 standard-sized buns
Tangzhong Starter – The Secret to Super Soft Texture
If you take nothing else from this guide, take this: tangzhong is non-negotiable.
This simple Japanese technique—cooking a portion of the flour and liquid into a roux before adding it to the dough—is what gives Roti O its signature, days-long softness. The gelatinized starch traps moisture, inhibits gluten toughening, and transforms good bread into pillow bread.
The method:
- In a small saucepan, combine tangzhong flour, water, and milk. Whisk until no lumps remain.
- Place over medium-low heat. Stir continuously with a spatula or whisk.
- Within 2–3 minutes, the mixture will thicken dramatically. You’re looking for a smooth, glue-like paste. When the spatula leaves a trail that doesn’t immediately collapse, it’s ready.
- Scrape into a small bowl. Cover directly with plastic wrap (touching the surface) to prevent a skin from forming. Cool completely to room temperature.
Make-ahead: Tangzhong keeps refrigerated for 2–3 days. Bring to room temperature before using.
Making the Enriched Milk Bread Dough
By stand mixer (preferred method):
- In the mixer bowl, combine bread flour, cake flour, sugar, yeast, and salt. Whisk dry ingredients by hand.
- Add lukewarm milk, egg, and cooled tangzhong. Mix on low speed until a shaggy dough forms (2 minutes). Scrape down bowl.
- Increase to medium speed. Knead 8–10 minutes. The dough will become smoother and begin pulling away from the bowl.
- Add softened butter, one cube at a time, mixing until fully absorbed. Continue kneading another 8–10 minutes.
- The windowpane test: Pinch off a small piece of dough. Gently stretch it between your fingers. If it forms a thin, translucent membrane without tearing, you’re done. If it tears easily, knead 2–3 minutes more and test again.
By hand (no mixer):
- Combine dry ingredients in a large bowl. Make a well; add milk, egg, and tangzhong.
- Mix with a wooden spoon until a shaggy dough forms. Turn onto an unfloured surface.
- Knead 15 minutes, pushing dough away with the heel of your hand and folding it back. It will be sticky initially—resist adding excess flour.
- After 15 minutes, work in the softened butter gradually. Knead another 15 minutes until smooth, elastic, and passing the windowpane test.
First proof:
- Shape dough into a smooth ball. Place in a lightly oiled bowl, turning to coat.
- Cover with plastic wrap or a damp kitchen towel.
- Proof in a warm place (28–30°C) for 60–90 minutes, until doubled in size.
- Fingertip test: Dust finger with flour, poke the dough gently. If the indentation holds and doesn’t spring back, it’s ready.
Make-ahead option: After kneading, refrigerate the dough immediately for up to 24 hours. The cold fermentation develops flavor beautifully. Return to room temperature before shaping.
Shaping & Filling – Getting That Perfect Butter Pocket
This step determines whether you get a glorious molten center or a sad, empty cavity. Attention to detail pays dividends.
- Divide and rest. Punch down the proofed dough. Turn onto a lightly floured surface. Divide into 12 equal portions (about 75–80 g each). Shape each into a loose ball, cover with plastic, and rest 15 minutes. This relaxes the gluten and makes shaping easier.
- Prepare the butter. Cut your cold butter into 12 cubes (about 6–7 g each). Keep refrigerated until the moment of use.
- Wrap the treasure. Take one dough ball. Flatten into a 4-inch circle, edges slightly thinner than center. Place a butter cube in the middle. Gather the edges toward the center, pinching firmly to seal. Ensure no gaps remain—butter will find any weakness and escape during baking.
- Roll and smooth. Gently roll the sealed bun between your palms to create a perfect, smooth sphere. Place seam-side down on a parchment-lined baking tray, spacing 2 inches apart.
- Second proof. Cover loosely with plastic wrap. Proof 45–60 minutes until puffy and nearly doubled. The buns should spring back slowly when gently poked.
Coffee Topping – The Signature Crackly Crown
This is the element that makes Roti O instantly recognizable. The topping must be the right consistency—firm enough to pipe, soft enough to crack.
- Dissolve the coffee. In a tiny bowl, combine instant coffee powder with 1 tablespoon hot water. Stir until completely dissolved. Set aside to cool.
- Cream butter and sugar. In a medium bowl, beat softened butter and sifted icing sugar until pale and creamy (2–3 minutes).
- Add egg and coffee. Beat in the egg gradually. Add the cooled coffee solution. The mixture may look slightly curdled—this is fine.
- Fold dry ingredients. Add sifted cake flour and optional milk powder. Fold gently until smooth and homogeneous. Do not overmix.
- Transfer to piping bag. Scrape the topping into a piping bag fitted with a small round tip (or simply snip the corner). Refrigerate 15–20 minutes to firm slightly—this makes piping cleaner and helps the topping crack beautifully.
- The spiral technique. Pipe the topping onto each proofed bun in a concentric spiral, starting from the center and working outward. Cover about 70% of the surface; the topping will spread during baking.
- Chill before baking. This is the pro secret. Refrigerate the piped buns, uncovered, for 15–20 minutes. Cold topping on warm dough = dramatic cracking.
Baking Instructions – Timing & Temperature Guide
- Preheat thoroughly. Set oven to 180°C (350°F) conventional, or 160°C (320°F) for convection/fan-forced. Preheat at least 20 minutes.
- Bake with confidence. Place buns on middle rack. Bake 16–20 minutes, rotating tray halfway through for even coloring.
- Visual cues. The topping should be deep golden-brown with beautiful, irregular cracks. The buns should sound hollow when tapped on the bottom.
- Cool correctly. Transfer to a wire rack immediately. Do not leave in the hot pan—the bottoms will steam and soften. Cool at least 10 minutes before serving.
For convection ovens: Reduce temperature by 20°C. Bake 14–18 minutes. Watch closely near the end; fan ovens brown faster.
Troubleshooting Common Issues
Topping too hard/crumbly:
- Too much flour → reduce by 5–10 g next time
- Overbaked → check oven temperature; reduce time by 1–2 minutes
- Coffee granules not fully dissolved → always dissolve completely
Buns too dense:
- Dough under-kneaded → must reach windowpane stage
- Yeast inactive → test freshness before using
- Second proof insufficient → buns should be visibly puffy
Butter leaking out:
- Sealing incomplete → pinch edges more firmly
- Butter too soft → use straight from refrigerator
- Dough torn during shaping → handle gently
Topping not cracking:
- Topping too warm when piped → chill piped buns before baking
- Topping too thin → add 1 tbsp flour to stiffen
- Oven not hot enough → verify actual temperature
Dough not rising:
- Yeast dead → water temperature too hot (over 50°C) kills yeast
- Room too cold → find warmer spot, or use oven proofing method (turn oven to lowest setting 2 minutes, turn off, place dough inside)
- Salt in direct contact with yeast → always separate in dry ingredients
Storage, Reheating & Make-Ahead Tips
Room temperature:
Store in an airtight container at cool room temperature for 1–2 days. The topping will soften slightly; reheat to restore crispness.
Refrigeration:
Store in sealed container for 4–5 days. Bring to room temperature or reheat before serving.
Freezing (baked):
Cool completely. Wrap individually in plastic wrap, then foil. Freeze up to 2 months. Thaw at room temperature, then reheat.
Freezing (unbaked):
Shape buns, insert butter, but do not proof or top. Freeze solid on a tray, then transfer to freezer bag. When ready to bake: thaw overnight in refrigerator, proof until puffy, pipe topping, and bake as directed.
Best reheating method:
Toaster oven or conventional oven at 160°C for 5–7 minutes. The topping recrisps, the interior steams softly. Microwaving is possible (15 seconds) but the topping will be soft, not crisp.
Variations & Flavor Twists
Once you’ve mastered the classic, the canvas expands:
Chocolate-Filled Roti O:
Replace butter cubes with 6–7 g dark chocolate chunks. Slightly sweet, deeply satisfying.
Matcha Coffee Topping:
Reduce coffee powder to 10 g, add 5 g matcha powder dissolved in hot water. Earthy, sophisticated, beautiful green hue.
Pandan Version:
Add 1 tsp pandan paste to the dough and ½ tsp to the topping. Aromatic, pale green, distinctly Southeast Asian.
Salted Caramel Butter:
Mix 1 tsp flaky sea salt into the butter cubes before freezing. Sweet-salty perfection.
Mini Roti O:
Divide dough into 24 pieces (35–40 g each), reduce butter cubes to 3–4 g, bake 12–14 minutes. Perfect for parties and children.
Serving & Enjoyment Ideas
The ideal moment:
Ten minutes out of the oven. The topping is still audibly crisp. The butter is warm, liquid, threatening to drip. A strong, black teh tarik or kopi tubruk alongside.
Breakfast: Grab-and-go with a carton of cold milk. A civilized way to start any day.
Afternoon tea: Split a bun horizontally, toast lightly, spread with kaya or additional butter. Decadent, restorative.
Next-day revival: Sliced, buttered, griddled in a hot pan until golden. An entirely different, equally delicious experience.
Gifting: Arrange 4–6 buns in a clear cellophane bag, tied with twine. Include a small sachet of good coffee beans. Everyone remembers the person who brought Roti O.
The Final Crumb
This is the recipe I return to when I need to remember why I love baking. Not for the likes, not for the validation—but for the moment a friend takes their first bite, closes their eyes involuntarily, and says, “Oh. Oh, this is exactly it.”
Roti O is more than a coffee bun. It’s a memory baked tangible. It’s the taste of humid afternoons and mall food courts and childhood treats. It’s proof that the things we love most are often closer than we think—waiting, patiently, for us to simply try.
So try. Your kitchen is ready. Your oven is waiting. And somewhere, a version of you from years ago—the one who stood in that bakery queue—is about to be very, very happy.

Leave a Reply