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.
