
Nasi Lemak is the beloved national dish of Malaysia, and once you master this recipe, you’ll understand why! This aromatic coconut rice dish is traditionally served with crispy fried chicken, hard-boiled eggs, fresh cucumber slices, and a spicy sambal that’ll make your taste buds sing. The beauty of Nasi Lemak lies in its simplicity—fragrant jasmine rice cooked in creamy coconut milk with pandan leaves and a hint of salt creates the perfect foundation for all those incredible toppings.
What makes authentic Nasi Lemak so special is the quality of each component working in harmony. The rice must be fluffy yet tender, infused with coconut flavor without being greasy. The sambal should be balanced between heat, tanginess, and depth of flavor. And those toppings? They provide textural contrast and richness that elevates this humble dish into something truly magical. I’ve spent years perfecting this recipe, and I’m thrilled to share my foolproof method with you.
This is the kind of dish that brings people together. Whether you’re making it for a casual family dinner or impressing guests at a dinner party, Nasi Lemak delivers every single time. The best part? Most of the components can be prepared ahead of time, making it a surprisingly manageable dish for entertaining. Start your day the Malaysian way with this comforting, flavorful masterpiece that’s crispy, creamy, and absolutely crave-worthy.
If you love coconut rice dishes, you’ll adore this traditional preparation. For more Asian rice recipes, explore our collection. And don’t miss our guide to making sambal from scratch for authentic heat and flavor. Check out Bon Appétit’s take on Nasi Lemak and Serious Eats’ comprehensive guide for additional inspiration and techniques.
Ingredients
- 2 cups jasmine rice
- 1 can (14 oz) coconut milk
- 1½ cups chicken or vegetable broth
- 3-4 pandan leaves, tied in a knot
- 1 teaspoon salt
- ½ teaspoon white pepper
- 3 tablespoons vegetable oil
- 4 large eggs
- 1 lb chicken thighs, cut into bite-sized pieces
- 2 tablespoons soy sauce
- 1 tablespoon sesame oil
- ½ cup roasted peanuts, roughly chopped
- 1 cucumber, sliced into thin rounds
- Fresh cilantro, for garnish
- For the Sambal: 8-10 red chilies (or 3-4 tablespoons sambal oelek)
- 4 cloves garlic, minced
- 2 shallots, minced
- 1 tablespoon belacan (shrimp paste), optional but recommended
- 2 tablespoons tamarind paste
- 1 tablespoon palm sugar or brown sugar
- 2 tablespoons vegetable oil
- Salt to taste

Instructions
- Rinse the jasmine rice thoroughly under cold running water, stirring gently with your fingers until the water runs mostly clear. This removes excess starch and helps achieve fluffy rice.
- In a medium saucepan or rice cooker, combine the rinsed rice, coconut milk, chicken broth, pandan leaves, salt, and white pepper.
- Bring the mixture to a boil over medium-high heat, then reduce heat to low, cover with a tight-fitting lid, and simmer for 15-18 minutes until the liquid is absorbed and rice is tender.
- Remove from heat and let the rice rest, covered, for 5 minutes. Fluff gently with a fork and discard the pandan leaves. Keep warm.
- While the rice cooks, prepare the sambal: if using fresh chilies, remove seeds for less heat (keep seeds for more spice), then roughly chop them.
- In a mortar and pestle or food processor, combine chilies, garlic, shallots, and belacan (if using). Pound or pulse until you achieve a coarse paste consistency.
- Heat 2 tablespoons oil in a small skillet over medium heat. Add the chili paste and fry for 2-3 minutes, stirring constantly, until fragrant.
- Stir in the tamarind paste and palm sugar, mixing well. Taste and adjust seasonings with salt. The sambal should be balanced between spicy, tangy, and slightly sweet. Set aside.
- For the fried chicken: pat the chicken pieces dry with paper towels, then season generously with salt and pepper.
- Heat 2 tablespoons oil in a large skillet over medium-high heat until shimmering. Working in batches to avoid overcrowding, fry the chicken for 6-8 minutes per side until golden brown and cooked through.
- In the final minute, add soy sauce and sesame oil to the chicken, tossing to coat evenly. Transfer to a plate lined with paper towels.
- For the eggs: bring a small pot of water to a boil. Gently lower room-temperature eggs into the water and cook for 10-12 minutes for hard-boiled eggs with fully set yolks.
- Transfer the eggs to an ice bath immediately to stop cooking. Once cooled, peel carefully under running water and halve lengthwise.
- To assemble: divide the warm coconut rice among serving plates, creating a slight well in the center.
- Top each plate with fried chicken, hard-boiled egg halves, cucumber slices, and a generous dollop of sambal.
- Sprinkle roasted peanuts over the top and garnish with fresh cilantro. Serve immediately while the rice is still warm and the chicken is crispy.

Pro Tips
- **Make-Ahead Tips**: The sambal can be prepared up to 3 days in advance and stored in an airtight container in the refrigerator. The flavor actually deepens over time. The coconut rice is best served fresh, but leftovers can be refrigerated for up to 2 days and gently reheated with a splash of water.
- **Pandan Leaves**: These fragrant leaves are essential for authentic flavor and give the rice a subtle green hue and aromatic quality. Find them fresh or frozen at Asian markets. If unavailable, substitute with a drop of pandan extract or omit entirely, though the dish won’t be quite as traditional.
- **Sambal Variations**: Adjust the heat level by adding or removing chili seeds, or use fewer chilies altogether. Some regions add tamarind for tartness, others prefer lime juice. This is your opportunity to customize it to your spice tolerance.
- **Chicken Alternatives**: While chicken thighs are traditional (they stay juicy and flavorful), you can use drumsticks, breasts, or even substitute with fried tofu for a vegetarian version. Adjust cooking time based on size.
- **Coconut Milk Quality**: Use full-fat coconut milk for the richest flavor. Shake well before opening, as the cream separates during storage. Don’t use lite versions—they lack the richness that defines this dish.
- **Belacan (Shrimp Paste)**: This ingredient adds incredible depth to the sambal, but it’s optional if you can’t find it or prefer to avoid it. The sambal will still be delicious without it.
- **Rice Cooker Method**: This recipe works beautifully in a rice cooker. Simply add all ingredients to the rice cooker and let it handle the cooking and keeping warm.
- **Serving Suggestions**: Serve with iced tea, fresh lime juice drinks, or a cold beer. Nasi Lemak is perfect for breakfast, lunch, or dinner.
- **Scaling the Recipe**: This recipe doubles easily for larger gatherings. Prepare each component separately to maintain quality.
