Rinse the rice under cold water until the water runs clear.
In a medium saucepan, combine the rinsed rice, water or chicken broth, and salt.
Bring the mixture to a boil over high heat.
Once boiling, reduce the heat to low, cover the saucepan, and simmer for 18-20 minutes, or until the rice is cooked and the liquid is absorbed.
Remove the saucepan from the heat and let it sit, covered, for 5-10 minutes.
Fluff the rice with a fork.
Pat the chicken pieces dry with paper towels and season with salt and pepper.
Heat the olive oil in a large skillet or wok over medium-high heat.
Add the chicken and cook until browned on all sides, about 5-7 minutes. Don't overcrowd the pan; cook in batches if necessary.
Remove the chicken from the skillet and set aside.
Add the chopped onion to the skillet and cook until softened, about 3-5 minutes.
Add the minced garlic and grated ginger and cook for another minute until fragrant.
Add the chopped red bell pepper and cook until slightly softened, about 3-5 minutes.
Pour in the coconut milk, soy sauce, lime juice, curry powder, and red pepper flakes (if using). Stir to combine and bring to a simmer.
Return the browned chicken to the skillet and stir to coat with the coconut milk sauce.
Reduce the heat to low, cover the skillet, and simmer for 15-20 minutes, or until the chicken is cooked through and the sauce has thickened slightly.
Divide the cooked rice among bowls.
Spoon the coconut chicken over the rice.
Garnish with fresh cilantro, toasted coconut flakes, lime wedges, and chopped green onions.
Add a drizzle of sriracha or chili garlic sauce for extra heat, if desired.
Serve immediately.