In a large pot, heat the coconut oil over medium heat. Once melted, add the sliced onion and sauté for about 5 minutes until translucent. Stir in the smashed garlic and grated ginger, cooking for another minute until fragrant.
Next, sprinkle in the garam masala, turmeric, ground coriander, cumin, and red pepper flakes. Stir well to coat the onions and release the spices’ aromas, cooking for about 1-2 minutes.
Add the rinsed and drained red lentils to the pot, followed by the diced canned tomatoes and coconut milk. Stir everything together until well combined.
Pour in the vegetable broth and stir. Bring the mixture to a gentle boil, then reduce the heat to low.
Cover the pot and let the dahl simmer for about 20-25 minutes, or until the lentils are tender and the mixture has thickened. Stir occasionally to prevent sticking.
Once cooked, season with salt and pepper to taste. Squeeze in the juice of half a lemon and add the baby spinach, stirring until the spinach wilts.