Preheat the oven to 350 fahrenheit. Place a large, wide frying pan or stove top-proof casserole dish over a medium-high heat. Add a dash of oil and fry the mince in batches, seasoning each lot, until well browned. Add garlic for the last 2 minutes and transfer to a place.
Put a little more oil in the same pan and cook the onion and leeks over a medium heat for 5 - 7 minutes, until completely softened. Add worcestershire sauce to taste, and then stir in the tomato puree.
Return the mince to the pan and stir well. Pour in the wine, scraping up any bits from the bottom. Bubble for a couple of minutes to burn off the alcohol, then add the stock and bring to the boil. Reduce to a simmer, then add the rosemary and garam masala and adjust the seasoning as necessary. Cook gently for 15 - 20 minutes, until the sauce has reduced slightly and the flavours are well combined. Set aside to cool.
Meanwhile, prepare the topping. Boil the potatoes until tender, then drain and mash until smooth. Mix in the butter and seasoning, then add the spring onions and three-quarters of the cheese and mix again. Taste and adjust the seasoning as necessary. If the mash is too dry add a splash of milk to loosen.
Put the meat mixture into a baking dish and top with the mashed potato. Sprinkle with the remaining cheese and a little salt and pepper. Bake for 15 - 20 minutes or until the potato is golden brown and the meat is bubbling underneath, and serve.