Add all the ingredients listed under kababs to a food processor and pulse till a smooth mixture is formed. Refrigerate for at least 30 minutes, overnight is fine as well. Take out the kabab mix and divide into 10-12 portions. Roll into any desired shape, I usually do a cylinder shape. Shallow fry them for 3-4 minutes on each side, until they get a good crust on them. Then remove to a plate.
Clean out the pan then add the oil listed under masala. Fry the onions until they turn a light golden brown, stirring occasionally. Add the tomatoes, garlic and all the spices. Cook on a medium low flame, covered, until the tomatoes break down and the oil separates from the masala. Stir occasionally, and if you notice the masala is starting to stick to the bottom add a splash of water. Once the masala is at your desired consistency, add the kababs back in. Cook covered on a low flame for about 5 minutes so the kababs can cook through and absorb some flavor from the masala.
To give your kababs a smokey flavor, heat a piece of charcoal on your stovetop. carefully place in in a small metal dish or on a piece of bread inside your pot that has the kababs. Drizzle over 1/2 tsp of oil and cover immediately. Leave the kababs covered to absorb the smokey flavor for about ten minutes. Then serve as usual.