BiscuitChickenpie
cd ~/nom-nom
4192NOM14·08·2026

Ube Cheese Pandesal: The Purple Bread That's Winning the Internet, Twenty Years After It Won My Lola's Kitchen.

Filipino
Prep45 mins, plus 1.5 hours rising
Cook18 mins
Serves16 rolls
Difficultymedium
Ube Cheese Pandesal: The Purple Bread That's Winning the Internet, Twenty Years After It Won My Lola's Kitchen
// MethodBy Chickenpie

The smell hits you before the oven timer does — warm milk, toasted breadcrumbs, and underneath it, something sweeter and stranger than vanilla. That's the ube. Pull the tray out too early and you'll know: the purple hasn't fully set into the crumb yet, still swirling instead of streaked. Pull it out right and you get bread that's soft enough to tear with your thumb, sweet enough to eat plain, and a color that makes people stop scrolling.

Ube's having a moment everywhere right now — chefs in New York are folding it into croissants, Australian bakeries are putting it in soft serve. Good for them. Filipinos have been putting ube in bread since before "purple food" was a content category. My lola made pandesal every Sunday, and the ube version only showed up on birthdays, because ube halaya took an entire afternoon of stirring and she wasn't burning that on a regular Tuesday. This is the shortcut version — frozen ube halaya instead of the stovetop marathon — but the bread itself, the actual dough, is hers. I didn't touch that part. You don't fix what already works.

What you're working with

500g (4 cups) bread flour · 100g (½ cup) granulated sugar · 7g (2¼ tsp) instant yeast · 1 tsp salt · 2 large eggs, room temperature · 180ml (¾ cup) warm whole milk · 60g (¼ cup) unsalted butter, softened · 250g (1 cup) ube halaya (jarred is fine) · 200g (7 oz) quickmelt cheese, cut into 16 cubes · 100g (½ cup) fine breadcrumbs, for coating · 1 tbsp milk, for brushing.

The cheese is not flexible — quickmelt (or a mild cheddar-mozzarella mix) is what gives you that stretchy pocket instead of a greasy one. The ube halaya, though, can be homemade or store-bought. Nobody's checking your receipts.

How it comes together

Start the dough like any enriched bread — warm milk, a pinch of the sugar, and the yeast, left alone for five minutes until it goes foamy on top. If it doesn't foam, your milk was too hot and killed the yeast, or too cold and it's still asleep. Start over rather than hope.

In a big bowl, whisk the flour, remaining sugar, and salt. Make a well, add the eggs, the bloomed yeast mixture, and the butter. Mix until it comes together into a shaggy mess, then turn it onto your counter and knead. This takes longer than you want it to — eight to ten minutes by hand. You're looking for a dough that's smooth, slightly tacky but not sticky to the touch, and springs back slow when you poke it. Rushing this step is the single most common reason pandesal turns out dense.

Cover the dough, let it rise somewhere warm for about an hour, until it's doubled. Poke it — if the dent stays, it's ready.

Punch it down, divide into 16 pieces (about 55g each if you want to weigh them, eyeball it if you don't). Here's the part that makes this recipe: flatten each piece into a small disc, spoon about a tablespoon of ube halaya into the center, top with a cube of cheese, then gather the edges up and pinch them shut like you're closing a coin purse. Roll it seam-side down into a ball. The seam matters — if it's not fully sealed, the ube leaks out during baking and burns on the tray, which smells worse than it sounds.

Roll each ball in breadcrumbs, arrange on a lined tray with room to grow, and let them rest 30–40 minutes until puffy again.

Brush with milk. Bake at 180°C (350°F) for 15–18 minutes, until the tops are golden and the breadcrumb coating has that dry, sandy look instead of pale and soft. Let them sit five minutes before you bite in — the cheese center holds heat like nothing else, and I say this from experience.

The part nobody puts in the macro table but should

One pandesal, roughly 220 calories, 8g protein, 7g fat, 32g carbs — heavier than a regular pandesal because of the cheese and the ube filling, lighter than a doughnut, and infinitely better for breakfast than either.

Why this bread, specifically

Pandesal means "salt bread," which is funny because the ones people actually love are never the salty ones — they're the ones somebody snuck something extra into. Ube halaya was originally a Christmas dessert, made from purple yam grated and cooked down with coconut milk and condensed milk until your arm gave out. Folding it into everyday bread is a very Filipino move: take the special-occasion thing and make it available on a Tuesday, because why should good food wait for a holiday.

My lola's version didn't have cheese in it — that's a newer addition, probably from the same instinct that put cheese on halo-halo and cheese on spaghetti. Filipino food has never been precious about "authenticity" the way food media likes to frame it. It absorbs what makes it better and keeps moving.

Your turn

Make a batch this weekend and tell me if the seam held. If it split and the ube leaked, that's not a failure — that's a pandesal with a really good crust. Post it, tag it, or just eat it standing at the counter before anyone else wakes up. That's the most correct way to eat pandesal anyway.

// In the kitchen
Hands shaping pandesal dough around a spoonful of ube halaya and a cube of cheese on a floured countertop
A tray of golden breadcrumb-coated pandesal rolls fresh out of the oven, with a small illustrated Mr. Chicken peeking over the edge

Hungry for more?

More recipes

You might also like