Soups & Stews
This Singapore-inspired beef and kaya recipe transforms a simple breakfast into a luxurious comfort meal that balances rich, savory beef with sweet, coconutty kaya. The secret lies in slow-cooked beef that stays tender and deeply flavorful, paired with homemade kaya that adds a delicate caramelized sweetness to every bite. I developed this recipe after craving that perfect balance of textures and flavors—something hearty enough for lunch but light enough for morning.
The beef preparation is where the magic happens—using a blend of spices and slow cooking transforms even budget cuts into melt-in-your-mouth perfection. Meanwhile, the kaya, made from coconut milk and sugar, develops a glossy, spreadable consistency that’s impossible to resist. Together, they create a meal that’s both nostalgic and elevated, perfect for brunch or a cozy weekend lunch.
What makes this dish special is how the flavors come together: the caramelized edges of the beef contrast beautifully with the smooth, creamy kaya, while the aromatic spices add depth. It’s a recipe that feels indulgent yet balanced, with every component playing its part. The result? A meal that’s as comforting as it is impressive, with minimal effort required to achieve restaurant-quality results.
Serve the beef with a side of steamed rice or toast to soak up the rich flavors, and offer the kaya as a sweet spread for dipping or topping. This dish is versatile enough for weeknight dinners or special occasions, proving that comfort food can be both satisfying and sophisticated. Let’s get cooking!
Ingredients for beef and kaya
Rich, slow-cooked beef meets caramelized coconut kaya for Singapore-inspired comfort food perfection.
| Ingredient | Amount | Notes |
|---|---|---|
| Beef Chuck Roast 🥩 | 2 lb | Cut into 1.5-inch cubes, trimmed of fat |
| Coconut Milk 🥥 | 1 can | Full-fat, 13.5 oz can (standard size) |
| Granulated Sugar 🍚 | 1 ½ cups | White sugar, fine grain preferred |
| Light Brown Sugar 🍚 | ½ cup | Packed firmly for kaya |
| Fresh Ginger 🌿 | 2 tbsp | Finely grated, organic preferred |
| Garlic Cloves 🧄 | 6 cloves | Peeled, minced for marinade |
| Soy Sauce 🥄 | ½ cup | Dark soy for rich color |
| Shaoxing Wine 🍷 | ¼ cup | Or dry sherry substitute |
| Honey 🍯 | 2 tbsp | Pure, unprocessed preferred |
| Cornstarch 🌾 | 1 tbsp | For kaya thickening |
| Vegetable Oil 🫒 | 2 tbsp | High smoke point for searing |
| Star Anise 🌟 | 2 whole | Lightly crushed for aroma |
| Cinnamon Stick 🌿 | 1 whole | For kaya fragrance |
| White Peppercorns 🌶️ | ½ tsp | Ground fresh for heat |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
The beef cut is critical here—chuck roast delivers the ideal texture when slow-cooked, while sirloin stays too tough. Look for well-marbled cuts at Whole Foods or your local butcher shop; the fat renders beautifully during cooking. For the coconut milk, Thai Kitchen brand is my go-to—it's full-fat and consistently creamy. If you can't find Shaoxing wine, dry sherry works equally well, though the flavor profile will be slightly different. The ginger should be freshly grated (the good stuff, not paste) for maximum aroma—about 2 tablespoons of finely grated ginger is perfect for this recipe.
No star anise? 1 teaspoon ground cinnamon plus 1/4 teaspoon ground cloves mimics the warmth. Substituting brown sugar for white in the kaya? Use 1 cup total instead of 1.5 cups white. The honey can be swapped for agave nectar if you prefer a neutral sweetener. For the beef marinade, if soy sauce is unavailable, 1/4 cup coconut aminos plus 1 teaspoon salt works in a pinch. The kaya's consistency relies on cornstarch—don't skip it, even if your coconut milk is particularly thick. For extra depth, toast the star anise and cinnamon stick in the oil before adding to the kaya mixture.
The beef marinade keeps for 3 days in the fridge, while the kaya mixture can be made 2 days ahead—the flavors actually improve with time. Store the cooked beef in an airtight container with its juices for 4-5 days, or freeze for 3 months. For the kaya, spread it on parchment paper and refrigerate with plastic wrap pressed directly on the surface to prevent a skin from forming. It reheats beautifully—simply warm in a saucepan over low heat with a splash of water or coconut milk. Portion the kaya into small jars for easy serving, and keep it at room temperature for up to 1 week if you prefer it softer.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this—just toss the beef, ginger, and spices into a pot, then let the coconut milk do the work. No chopping, no fuss, and the slow simmer turns tough chuck into melt-in-your-mouth perfection.
- Sweet-Savory Balance: That caramelized brown sugar and ginger? It’s the secret weapon. The coconut milk keeps it rich but not heavy, while the beef stays tender enough to cut with a fork. Honestly, it’s the kind of dish that makes you forget it’s "healthy."
- Leftovers That Shine: This recipe actually improves the next day. The flavors meld even deeper, and I’ve turned reheated portions into quick lunches or even stuffed them into rice bowls. (Yes, even on a Tuesday night.)
- Budget-Friendly Luxury: A whole chuck roast feeds my family for days, and the coconut milk stretches further than you’d think. Between us, this is how I make restaurant-quality beef dishes without breaking the bank—or my grocery budget.
Step-by-step instructions for beef and kaya recipe
Transform humble ingredients into a Singaporean comfort classic with this two-part method.
Marinate and Sear the Beef
In a large bowl, combine the 2 lb beef chuck roast cut into 1.5-inch cubes, the 0.5 cup soy sauce, 0.25 cup shaoxing wine, 2 tbsp honey, 6 minced garlic cloves, 2 tbsp finely grated fresh ginger, 0.5 tsp ground white peppercorns, and 1 tsp of the 1.5 tsp salt. Toss thoroughly to coat all surfaces evenly. Cover and refrigerate for at least 2 hours, or preferably overnight - this allows the marinade to deeply penetrate the beef for maximum flavor infusion.
Heat the 2 tbsp vegetable oil in a heavy-bottomed Dutch oven over medium-high heat until shimmering. Working in batches to avoid overcrowding, add the marinated beef and sear until deeply browned on all sides, about 3-4 minutes per batch. This initial searing creates the Maillard reaction that forms the rich, caramelized foundation of the dish. Transfer the seared beef to a plate and set aside.
Build the Coconut-Caramel Base
In the same Dutch oven, reduce heat to medium and add the 2 lightly crushed whole star anise and 1 whole cinnamon stick. Allow them to bloom for 30 seconds until fragrant. Pour in the 1 can coconut milk and bring to a gentle simmer. Add the remaining 0.5 tsp salt and simmer uncovered for 10 minutes to allow the coconut to infuse its delicate flavor while the spices develop their aromatic notes.
In a separate bowl, whisk together the 1.5 cups granulated sugar, 0.5 cup packed light brown sugar, and 1 tbsp cornstarch. Gradually sprinkle this sugar mixture into the simmering coconut milk while stirring continuously with a wooden spoon. The mixture will thicken noticeably as it transforms into a glossy, golden caramel sauce. Continue simmering for 5 minutes until the sauce reaches a consistency where it coats the back of a spoon smoothly.
Combine and Simmer the Beef
Return the seared beef to the Dutch oven along with any accumulated juices. Stir gently to combine, then bring the mixture to a gentle simmer. Cover and cook on low heat for 2 hours, stirring occasionally, until the beef is fork-tender with no pink center remaining. The sauce should thicken further as it absorbs the beef's natural juices, creating a rich, velvety consistency that clings beautifully to each piece.
Taste and adjust seasoning if needed - you may want to add a splash of water or additional soy sauce to balance the sweetness. The final dish should have a perfect harmony of sweet, savory, and umami flavors with the coconut milk providing a luxurious creaminess.
Serve with Traditional Kaya
While the beef simmers, prepare the kaya by combining the remaining 1.5 cups granulated sugar, 0.5 cup light brown sugar, 2 tbsp honey, and 1 cup of the coconut milk from the beef mixture in a saucepan. Cook over medium heat, stirring constantly, until the mixture reaches 235°F on a candy thermometer (soft crack stage). Remove from heat and stir in the 1 tbsp cornstarch to thicken. Pour into a greased 8x8-inch baking dish and let cool completely before slicing into diamonds.
Serve the tender beef with its rich coconut sauce over steamed jasmine rice, accompanied by the traditional kaya slices on the side. The contrast between the savory beef and sweet kaya creates the perfect balance of flavors that makes this dish so beloved in Singaporean cuisine. Each bite delivers a symphony of textures and tastes that define this comforting classic.
Pro Tips For Making Beef And Kaya
- SEAR THE ROAST FIRST: That beef chuck needs a deep, dark crust before it goes into the slow cooker—don’t skip the 5-7 minutes of high-heat searing. I learned this the hard way when my first batch tasted like it was simmered in water. Use a heavy pan, 2 tablespoons of oil, and let it brown all sides. The caramelized bits dissolve into the sauce later, making the whole dish richer.
- PEEL AND GRATE GINGER FRESH: Pre-packaged ginger paste is convenient, but fresh ginger changes the game—it’s brighter and less cloying. Use a microplane or fine grater for the peel-on version (yes, the peel adds depth), then measure out 1 tablespoon of the zest and 1 tablespoon of the flesh. If you’re short on time, a sharp knife works, but you’ll lose some surface area for flavor.
- DON’T BOIL THE COCONUT MILK: Simmering coconut milk too hard turns it grainy and separates the cream—this isn’t a curry, so you want it silky. Keep the heat at a gentle simmer (tiny bubbles, barely moving) while you’re reducing it with the sugars. If it starts to curdle, lower the heat or pull it off the stove for a minute. Patience here saves you from scraping curds off your plate later.
- USE BROWN SUGAR LAST: Light brown sugar caramelizes faster than granulated, so add it in the final 10 minutes of cooking. This gives you a glossy, amber glaze on the beef without burning the sauce. Stir it in with the ginger and let it bubble away—just until the liquid thickens slightly. The contrast of the deep caramel with the creamy coconut milk is what makes this dish sing.
Dietary considerations for beef and kaya
Gluten-Free Adaptations
This recipe naturally accommodates gluten-free diets since it relies on beef, coconut milk, and spices. The key is ensuring your soy sauce is gluten-free—I recommend Kikkoman Tamari or San-J Tamari. Both provide the same umami depth without gluten. Double-check all spice blends for hidden wheat additives, especially if using pre-mixed seasonings. The kaya remains entirely gluten-free as it’s made from sugar, coconut milk, and cornstarch. 🌱
Dairy-Free Considerations
The recipe is already dairy-free, but watch for cross-contamination if you’re highly sensitive. Use a clean Dutch oven and utensils that haven’t touched butter or cheese. The coconut milk provides all the creaminess needed, so no substitutions are necessary. For extra richness in the kaya, you could add 1 tbsp coconut cream to the sugar mixture, but it’s optional. Always verify labels on honey and spices for dairy processing warnings.
Lower-Carb Options
To reduce carbs, skip the rice and serve the beef over cauliflower rice (about 2 cups riced cauliflower per serving). For the kaya, replace 1 cup sugar with ½ cup erythritol or monk fruit sweetener—the texture will be slightly firmer but still delicious. The beef’s natural flavors shine without the sugar overload, and the kaya remains spreadable with careful stirring. Test small batches first, as sugar substitutes vary in texture impact. 💪
Protein-Packed Boost
For extra protein, add ½ cup firm tofu (pressed and cubed) to the beef marinade—it absorbs flavors beautifully. Or stir ½ cup cooked quinoa into the finished beef for a heartier bite. Both options work well with the coconut sauce’s richness. The kaya remains unchanged, offering a sweet contrast that balances the protein-heavy meal. This makes the dish perfect for post-workout recovery or high-protein meal prep.
Allergen-Friendly Swaps
For nut allergies, ensure your coconut milk is processed in a nut-free facility (check labels for warnings). If avoiding corn, replace the 1 tbsp cornstarch in the kaya with 1 tbsp arrowroot powder—it thickens just as effectively. For soy allergies, substitute the 0.5 cup soy sauce with 0.5 cup coconut aminos (like Annie Chun’s brand). Always verify ingredient sources to avoid hidden allergens in pre-packaged items.
Kid-Friendly Adjustments
To make this dish more appealing to kids, reduce the ginger to 1 tbsp and omit the star anise and cinnamon stick—they can be overwhelming. Sweeten the kaya with 1 extra tbsp honey for a milder taste. Serve the beef with soft scrambled eggs on the side, and let them dip the kaya into the coconut sauce for a fun, interactive element. The familiar flavors will encourage them to try the full meal. 👶
Nutrition facts
Frequently asked questions
Can I substitute beef chuck roast with another cut?
Yes, but choose wisely! For tender results, use sirloin or ribeye cut into 1-inch cubes and marinate for 4-6 hours instead of overnight. Avoid lean cuts like flank steak—they dry out during slow cooking. If using beef liver, reduce cooking time to 30 minutes after searing, as it cooks faster.
How do I make the kaya less sweet?
Reduce the sugar by 0.25 cup total (split between white and brown) and add 1 extra tbsp honey for depth. For a milder taste, use light brown sugar only and cook the kaya to 225°F instead of 235°F—this creates a softer, less caramelized texture. Taste as you go!
Can I make this dish ahead of time?
The beef stays flavorful for 5 days refrigerated in its juices, or 3 months frozen. The kaya improves with time—make it 2 days ahead and store covered at room temperature. Reheat the beef gently in a saucepan with a splash of water, and warm the kaya in a microwave (30-second bursts) or stovetop with coconut milk.
What's the best way to serve this dish?
Traditionally, serve the beef over jasmine rice with kaya slices on the side for dipping. For a modern twist, pair it with toasted brioche or crusty bread to soak up the coconut sauce. Add a side of steamed greens (like bok choy) to balance the richness. The contrast of textures—tender beef, crispy kaya, and soft rice—makes it unforgettable!
Why did my kaya turn grainy?
Graininess happens when sugar crystallizes—usually from stirring too vigorously or cooling too quickly. Fix it by adding 1 tbsp warm water and gently reheating while stirring constantly. To prevent it, whisk the sugar mixture over medium heat until fully dissolved before adding cornstarch. If using a candy thermometer, don't exceed 235°F—higher temps cause crystallization.
