Wash and peel carrots and sweet potatoes.
Dice them into 1 inch cubes and keep aside.
Peel onion and finely dice into 1/2 inch cubes.Also peel the garlic and crush it gently. Take oil in a large cooking vessel - any pot or pan which can hold 6 cups of water and not over flow.
Sauté diced onions in hot oil till golden, about 3 minutes on medium heat.
Add crushed garlic and garam masala and sauté for 30 seconds.
Now add diced carrots and sweet potatoes; cook for 2 minutes on medium heat.
Add chicken or vegetable stock, salt and black pepper. Mix all the ingredients nicely. Allow it to boil on high heat. Then simmer for 20 minutes on low medium heat.
After 20 minutes, add roughly diced apple and cook for another 5 minutes.
Turn off the heat and make a puree using a blender of your choice. If your pot is big enough, you can puree in the pot itself using a handy blender. Be careful as the soup will be very hot. You can allow it to cool before you blend it just to be safe.
Turn on the heat, add lemon juice and roasted cumin. Mix well. Taste test for spices and add more spices to your liking.
Garnish with plain yogurt and cilantro if you like. Serve hot.