For the rice:
1 tablespoon olive oil
1 medium onion (about 4 ounces), finely diced
1 clove garlic, finely minced
1 1/2 cups white basmati rice, rinsed until the water runs clear
1 (14-ounce) can full-fat coconut milk
1/4 teaspoon kosher salt
1/2 teaspoon granulated sugar
Cooked fish, shrimp, chicken, pork, or steak
For the sauce:
Scant 1/2 cup water
1 1/2 tablespoons granulated sugar
1/2 teaspoon kosher salt, plus more to taste
1/2 teaspoon crushed red pepper, plus more as needed for serving
1 large bunch fresh cilantro, leaves and tender stems, coarsely chopped
4 lime wedges, for serving (optional)
In a large, lidded skillet or pan, heat the oil over medium heat until shimmering. Add the onion and cook, stirring occasionally, until it softens and just starts to brown, 8 to 10 minutes.
Add the garlic and cook until fragrant, 1 to 2 minutes. Add the rice and stir to coat it in the oil.
Add the coconut milk, then half-fill the empty can with water and add it to the pan. Add the salt and sugar, bring to a boil, then reduce the heat to low so the mixture is at a simmer and cover the pan. Cook for 10 or until rice is tender.
While the rice is cooking, in a small pan over high heat, combine the water, sugar, salt and crushed red pepper and bring to a boil. Lower the heat to medium and simmer the sauce until slightly reduced and syrupy, about 5 minutes, then remove from the heat.
Place the cilantro in a food processor and pulse to chop. Gradually pour in the syrup and pulse the cilantro until very finely chopped, and the sauce is combined. Taste and adjust the seasonings; the sauce should be slightly sweet, with a hint of heat. Add more crushed red pepper, sugar or salt, as needed.
Gently stir the rice and divide across 4 plates. Top with fish or other protein and drizzle the sauce over. Sprinkle with additional crushed red pepper flakes, if desired, and serve with a wedge of lime, if using.