Thai Roasted Coconut and Crispy Shallot Jasmine Rice
Photo by Rajeshmegi King on Pexels

Thai Roasted Coconut and Crispy Shallot Jasmine Rice

Fragrant jasmine rice simmered in coconut milk with a triple layer of coconut flavor: the cooking liquid, toasted dried coconut in the rice, and a garnish of golden-fried shallots for textural contrast. This side dish brings aromatic elegance and satisfying crunch to Thai and Southeast Asian meals.

Prep
15 min
Cook
30 min
Wait
10 min
Total
55 min
Makes
About 4 cups cooked rice (4 servings)
Share

Steps

Before you start
  • Measure jasmine rice and rinse it thoroughly under cold water until the water runs mostly clear, then drain well in a fine-mesh sieve
  • Have all ingredients prepped and measured before you start—this dish moves quickly once you begin cooking
  • Read through all steps to understand the timing of the shallot frying, which happens while the rice steams
  1. Toast the dried coconut

    • Spread the toasted coconut flakes in a small, dry skillet over medium heat.
    • Stir frequently for 3–4 minutes until fragrant and lightly browned (watch closely—coconut burns easily).
    • Transfer to a small bowl and set aside.
    + Show details

    Ready when: Coconut is fragrant and golden brown, not dark or burned

    Tip: Toast the coconut first so the skillet is ready for frying shallots. If using pre-toasted coconut, skip this step and reserve time for shallot frying.

  2. Combine rice and liquid

    • In a 2-quart saucepan, combine the rinsed jasmine rice, coconut milk, and water.
    • Add the fish sauce and stir once to combine.
    • Bring to a boil over medium-high heat, uncovered.
    + Show details

    Ready when: Mixture boils vigorously with large bubbles breaking the surface

    Tip: Don't stir the rice during cooking, which can make it gummy. Once the liquid boils, reduce heat immediately to avoid boiling over.

  3. Steam the rice

    • Once boiling, reduce heat to the lowest setting.
    • Stir in the toasted coconut flakes and a pinch of salt.
    • Cover tightly with a lid and steam without opening the lid for 18–20 minutes, until the liquid is absorbed and the rice is tender.
    + Show details

    Ready when: No liquid is visible on the surface, and the rice is tender and fluffy when a grain is tasted

    Tip: Resist the urge to lift the lid—even a brief lift lets steam escape and dries out the rice. If liquid remains after 20 minutes, cover and cook for another 2 minutes.

  4. Fry the shallots

    • While the rice steams (starting at the 5-minute mark), heat the neutral oil in your small skillet over medium heat.
    • Once shimmering, carefully add the sliced shallots in small batches.
    • Stir gently and frequently, frying for 8–10 minutes total until the shallots turn golden brown and crispy.
    + Show details

    Ready when: Shallots are deep golden brown, crispy, and fragrant; they should not be black or burned

    Tip: Add shallots in batches so they fry rather than steam. If the oil is too hot, they'll brown too fast before crisping; if too cool, they'll absorb oil and become soggy. Taste one—it should be crispy, not chewy.

  5. Drain the shallots

    • Using a slotted spoon, transfer the fried shallots to a plate lined with paper towels.
    • Sprinkle lightly with salt while still hot.
    • Discard the oil or reserve it for another use (it's now infused with shallot flavor).
    + Show details

    Ready when: Shallots are no longer glistening with oil and crisp texture is set

    Tip: Paper towels absorb excess oil; pat them once they're cool enough to handle if any pooled oil remains. They'll continue to crisp as they cool.

  6. Rest and finish the rice

    • When the rice is done steaming, remove it from heat and let it sit, covered, for 3–5 minutes.
    • Fluff gently with a fork or rice paddle, breaking up any clumps.
    • Taste and adjust salt as needed.
    • If using lime juice, add it now and gently fold it through.
    + Show details

    Ready when: Rice is fluffy and each grain is separate; no hard bits remain

    Tip: Fluff the rice gently to avoid crushing the grains. The resting period is crucial—skipping it leaves the rice mushy or compact.

  7. Plate and garnish

    • Transfer the rice to a serving bowl or individual bowls.
    • Top with a generous handful of crispy fried shallots.
    • If using, scatter fresh cilantro and sliced scallion whites over the top.
    • Serve immediately while the shallots are still crispy.
    + Show details

    Tip: Add crispy shallots at the last moment to keep them crunchy. If made ahead, reheat gently and add fresh fried shallots just before serving.

Good to know

Tips
  • For the best flavor, use full-fat unsweetened coconut milk, not lite. The richness becomes part of the rice texture and taste.
  • Toast your coconut flakes even if pre-toasted—it deepens the coconut flavor and ensures they're completely dry before adding to the rice.
  • Keep the heat low during steaming. If the flame is too high, the bottom of the rice will scorch before the top is tender.
  • Make sure your shallots are sliced uniformly (about ⅛ inch) so they fry evenly. Thicker pieces won't crisp; thinner ones may burn.
Make ahead

The rice can be steamed up to 3 hours ahead, cooled, and refrigerated in a covered container. Crispy shallots must be fried just before serving for maximum crunch. To serve, gently reheat the rice in a covered pot over low heat with 1–2 tablespoons of water, fluff with a fork, and top with fresh crispy shallots.

Storage & reheating

Refrigerate cooked rice in an airtight container for up to 4 days. Do not store crispy shallots in the same container as the rice, as they will absorb moisture and become soft. Fried shallots can be stored in an airtight container with parchment between layers for up to 2 days, though they're best eaten fresh. Reheat rice covered over low heat with a splash of water, or use in fried rice. Do not freeze.

Substitutions
  • unsweetened dried coconut flakes, toasted → Pre-toasted unsweetened coconut flakes (available in most grocery stores). Skip the toasting step and use the flakes directly; you'll save about 4 minutes. The final result is nearly identical.
  • unsweetened coconut milk → Lite coconut milk or half coconut milk and half low-sodium vegetable broth. This reduces richness and coconut intensity. The rice will be equally fluffy but less creamy.
  • fish sauce → Soy sauce (use 1 tablespoon soy sauce and reduce salt to taste). Soy sauce is less funky but adds umami. The rice will taste slightly different—less distinctly Southeast Asian.
  • shallots → Crispy fried onions (store-bought) or garlic chips. Store-bought crispy shallots skip the frying step entirely. Garlic chips offer less sweetness. Either works well as a garnish.

More rice bowls

See all →

Find more like this

Meal
Dinner
Cuisine
Thai
Main ingredient
Rice

Reviews (0)