First of all, you need to dry-roast the coriander and cumin seeds to draw out their flavour: place them in a small frying pan over a medium heat and toss them around for 2 minutes until they begin to jump and pop, then crush them as finely as possible with a pestle and mortar.
Next, place the lamb in a large mixing bowl. Put the onions in a food processor, along with the mint and coriander leaves, then pulse everything until the onion is finely chopped. Transfer all this to join the meat in the bowl, add the spices and a good seasoning of salt and freshly milled black pepper, then mix everything thoroughly and evenly together with your hands (easiest) or a large fork (takes longer).
Then take small amounts of the mixture and roll them with your palms into little rounds slightly larger than a walnut.
Now heat about a tablespoon of the oil in a large frying pan over a medium to high heat and when it's hot, begin to brown the koftas, about six at a time, turning them to get brown on all sides. As they cook, transfer them to a plate and add more oil when needed as you continue browning all the others.
Meanwhile, skin the tomatoes for the sauce. Place them in a heatproof bowl and pour boiling water on to them. After exactly a minute (or, if the tomatoes are small, 15-30 seconds), remove them from the water; slip off their skins (protecting your hands with a cloth if they are hot) and chop them into small pieces.
After that, place the casserole over a high heat, add another tablespoon of oil and when it's hot, soften the onions, stirring them around now and then and keeping the heat highish so they turn golden brown, which should take about 6 minutes.
Next, add the garlic to the onions and cook for about a minute more. Now add the tomatoes and cinnamon, stir well, then add the koftas, stir once more, turn the heat down to low and let them simmer slowly for about 30 minutes with the lid on.
Then remove the lid to allow the sauce to reduce, continuing to simmer for a further 30 minutes before serving.