Rinse Lentils: Place red lentils in a fine mesh strainer. Rinse under cold water until the water runs clear. This removes impurities and excess starch.
Prepare Aromatics: Heat a large, deep skillet or saucepan over medium-high heat. Add coconut oil. Once the oil is hot and shimmering, add minced garlic, minced Ginger, minced fresh turmeric (if using), and diced Serrano pepper. Cook for about 2 minutes, stirring often to prevent the garlic from burning.
Spice It Up: Add ground cumin, ground coriander, chili powder, curry powder, garam masala, and season with salt and black pepper to taste. Cook for 30 to 60 seconds until fragrant, constantly tossing to prevent the spices from burning. If using ground turmeric, add it now with the other spices.
Add Liquids and Lentils: Pour in the vegetable broth. Use a wooden spoon or spatula to scrape up any browned bits from the bottom of the pan. This adds more flavor. Add the rinsed lentils and crushed tomatoes. Stir well to combine.
Simmer: Lower the heat to maintain a gentle simmer. Cover the pan with a lid. Let it cook for 20 to 25 minutes or until the lentils are mostly softened. If the lentils are still firm after 25 minutes, add a bit more broth or water and continue cooking for another 5 minutes.
Creamy Texture: Once the lentils are cooked, remove the lid. Add in the full-fat coconut milk and creamy almond butter. Stir well. Continue cooking on low heat, uncovered, for another 5 to 8 minutes until the curry thickens and becomes creamy.
Final Touches: Stir in the fresh lemon juice and roughly chopped cilantro. Turn off the heat. For a creamier consistency, use an immersion blender to purée the curry lightly.
Serve and Store: Serve the lentil curry with Basmati or Jasmine rice and Indian flatbread like roti, paratha, or naan. Garnish with additional cilantro. Store any leftovers in the fridge for 3-4 days.