Heat oil in a large saucepan over medium heat and fry the chopped onions until soft and translucent, about 8-10 minutes.
Add the carrots and bell pepper (if using) to the pan and cook for another 3-4 minutes until slightly softened.
Stir in the minced garlic and ginger paste, cooking for 1 minute until fragrant.
Add all the spices (paprika, coriander, cumin, turmeric, fenugreek, and garam masala) and cook for 1 minute, stirring constantly to prevent burning.
Pour in enough water to just cover all the vegetables, bringing the mixture to a gentle boil.
Reduce heat and simmer uncovered for 45 minutes, stirring occasionally and adding more water if needed to prevent sticking.
Remove from heat and blend the mixture until completely smooth using an immersion blender or food processor.
Adjust consistency with water if needed - the sauce should have a milk-like consistency, neither too thick nor too thin.