Heat the oil in a large pot over medium heat. Add the onion and cook for 2 minutes until it starts to soften.
Stir in the garlic, ginger, cumin, garam masala, and turmeric. Cook for 30 seconds until the spices smell fragrant.
Add the cauliflower florets and the diced tomatoes with their juice. Stir to coat the cauliflower.
Pour in the lentils, frozen peas, water, and salt. Bring the mixture to a simmer.
Cook for 8 to 10 minutes, stirring occasionally, until the cauliflower is tender but not mushy.
Remove from heat and sprinkle with chopped cilantro before serving.