Wash and soak the Bulgar wheat and the lentils seperately overnight or for atleast 3 hours, in generous amount of water.
For a Non-vegetarian Haleem preparation, pressure cook the meat in surplus amount of water with a pinch of salt and turmeric till tender. Chicken Meat will cook faster than Lamb meat. Once the meat is tender, shred the meat and keep aside in a bowl. Throw away the bones and measure and reserve the stock. If using minced meat, cook it in a little oil, salt and red chilli powder until browned evenly. Keep aside.
In a non-stick 7 quart Dutch oven at medium heat, pour oil and butter. As it gets warmed up throw in the fried onion. Add ginger-garlic paste, coriander and cumin seed powder, red chilli powder, salt and turmeric.
Add the drained broken wheat and lentils and mix well. Pour in the reserved meat stock. If you are preparing a vegetarian version, you can add vegetable stock or just plain water. You need to add a total of 8 cups of liquid to the saucepan.
Let it boil once then simmer and let it cook covered, until the lentils are tender and the wheat mushy, about 1 1/2 hours, stirring it once in a while taking care it doesnt stick to the bottom of the dish.
Stir in the garam masala and add the frozen/fresh chopped vegetables, or for a non-vegetarian version, the reserved shredded meat or minced meat, and mix well. Let it cook covered till the vegetables are tender and oil comes to surface, about 5 -8 minutes.
You can add a little water if needed. Remove the dutch oven from heat. Let it cool down slightly.
Once cool, pour the entire thing into a food processor and process for a minute. Pour back into the dutch oven, add a little water, and let simmer covered for 5 more minutes.
To serve pour the Haleem into individual plates with a laddle and garnish each plate with a few mint leaves, cilantro, green chillies, fried onion, halved lemon and a dollop of butter (optional) for a deliciously nutritious meal.