Heat olive oil in a large pot over medium heat.
Add onion and cook until softened, about 5 minutes.
Add garlic and ginger, cook for 1 minute until fragrant.
Add curry powder, cumin, turmeric, and cayenne. Cook for 30 seconds.
Add diced tomatoes and cook for 5 minutes.
Add lentils, coconut milk, and broth. Bring to a boil.
Add carrots, bell pepper, and cauliflower. Reduce heat and simmer for 20-25 minutes until lentils are tender.
Stir in spinach and cook until wilted.
Add lemon juice and season with salt to taste.
Serve over brown rice, garnished with cilantro.