In a heavy bottomed pot, heat the oil.
Add the chopped onion, and saute on medium high heat for 3-4 minutes until it is light golden brown.
Add the minced beef, stir and cook for 1-2 minutes.
Now add the ginger garlic paste and the spices. Cook on medium high heat for 5-7 minutes.
Add the crushed tomatoes, stir and cook for 1-2 minutes.
Lower the flame to medium low, cover the pot with a lid, and cook for 15 minutes. Stir the keema a couple of times during this time.
After 15 minutes, remove the lid and increase the flame to high. Cook for 10-15 minutes while stirring every few minutes.
The keema is ready when excess moisture has evaporated and you can see the oil on the surface of the keema.
Add chopped coriander, chopped mint and green chillies. Stir, cover the pot with the lid and let steam for 2 minutes.
Remove the lid, add the butter and dried fenugreek leaves if using, and stir to combine.
Remove the pot from the heat, and let rest for 5 minutes before serving.