Chop the onion and grate the tomatoes. Heat 2 tablespoons olive oil in a large pot over medium heat. Add 1 onion (chopped) and cook for about 3 minutes, until soft.
Add 2 cloves garlic and 1 inch ginger (grated), ¼ teaspoon red pepper flakes, 2 teaspoons garam masala, 1 teaspoon coriander, 1 teaspoon turmeric, and ½ teaspoon cumin. Stir for 30 seconds to warm the spices. Add a splash of broth if the pot feels dry.
Stir in 2 vine tomatoes (grated). Let them simmer for about 2–3 minutes, until slightly thickened.
Add 3 cups vegetable broth and 1 cup dried red lentils (rinsed). Season with ¾ teaspoon salt and black pepper. Bring to a gentle simmer and cook for 15–20 minutes, stirring now and then, until the lentils are soft and creamy. Add more broth if needed.
Stir in ½ cup half-and-half and 4 packed cups spinach. Cook for 1–2 minutes, until the spinach wilts. Taste and adjust seasoning. It might need a pinch more salt.
Serve hot with rice or naan, a squeeze of lemon, fresh cilantro if you like, and a dollop of yogurt.
Substitutions
Garam masala –> Indian-style curry powder
Half-and-half –> Heavy cream, coconut milk, or unsweetened oat creamer
Fresh spinach –> Kale or Swiss chard (add a few minutes earlier)
Vine tomatoes –> Canned crushed tomatoes
Vegetable broth –> Water with a pinch of salt
Fresh ginger –> Ground ginger (use less)
Tips
Rinse the lentils to keep the dal creamy, not gummy
Simmer gently so nothing sticks or burns
Add a splash of broth if it gets too thick
Stir in spinach at the end so it stays bright
Taste and adjust salt and lemon before serving
Cooking for mixed diets? Add dairy to individual bowls or use a non-dairy creamer.
Store leftovers in an airtight container in the fridge for up to 4 days, or freeze in portions for up to 3 months.