Cut the onion in half for the masala sauce, then peel it and slice it as finely as you can into half-moon shapes.
Heat a 28cm or 11" frying pan (not nonstick if possible) over a low-medium heat and add the ghee, followed by the onions. Cook for 35-40 minutes, stirring every 4-5 minutes.
Whilst the onions are cooking, peel and chop the garlic for the kofta as finely as you can.
Peel and grate the ginger for the kofta.
Cut the shallot in half and dice it as finely as you can.
Add all of the ingredients for the meatballs into a bowl and mix together, then form them into 10 meatballs and set aside. These will be around 45-50g in weight or 45-50mm (2") in diameter.
Using wet hands helps with this.
Peel and finely chop the garlic for the masala sauce.
Peel and grate the ginger for the masala sauce.
By now, the onions should be a nice golden colour. Add the tomato puree, garlic and ginger for the sauce, then stir constantly and cook for 1 minute.
Sprinkle over the chilli pepper, coriander, turmeric and black pepper for the sauce and stir and cook for 15-30 seconds.
Pour in the tomato passata, give it a stir, then stir in the water to form a nice thick sauce.
Add the garam masala, salt, and dark brown sugar and pour in the cream, then crush in the dried fenugreek for the sauce and give everything another stir.
Place the meatballs in the sauce and give them a roll around, add a lid and cook over a low to medium heat for 15 or 20 minutes or until the meatballs reach an internal temperature of 73°C or 165°F.
Video
Notes
If the sauce is too thick after cooking you can thin it out with a little water, this will very much be defined by your passata.