Rinse the basmati rice under cold water until the water runs clear. Place it in a small saucepan with 2 cups of water and a pinch of salt. Bring to a boil, then reduce heat to low, cover, and simmer for 15 minutes until tender. Remove from heat and let it rest covered.
While the rice cooks, heat the coconut oil in a large pot over medium heat. Add the diced onion and cook for 4 minutes until softened.
Stir in the minced garlic and curry powder. Cook for 1 minute until fragrant.
Add the rinsed red lentils, coconut milk, vegetable broth, salt, and black pepper. Stir to combine, then bring the mixture to a gentle simmer.
Cook uncovered for 15 to 18 minutes, stirring occasionally, until the lentils are soft and the curry has thickened.
Turn off the heat and stir in the fresh spinach until it wilts, about 2 minutes.
Fluff the cooked rice with a fork and divide it among four bowls. Spoon the curry over the rice and serve warm.