Finely chop the shallot onions, vine tomatoes and coriander. Cut the potato into small cubes.
In a large pan or skillet, drizzle 3 tablespoon of oil and sauté the potato cubes with medium heat until golden brown. Remove from oil and set aside.
In the remaining oil, add the chopped onions and sauté them until translucent, then add the garlic paste and ginger paste in. Stir for few seconds and follow with chopped tomatoes.
When the tomatoes become soft, add the tomato puree, salt, turmeric, garam masala, chilli powder, cumin powder. Stir well for 5 seconds, follow with the ground beef and cook until the beef changed into brown and no longer pink.
Place the sautéed potato cubes back in. Pour the warm water in, stir well, close the lid and simmer for another 8-10 minutes with low heat until the beef potatoes are cooked. You can add extra warm water if the sauce is too thick.
Turn off heat, stir in the chopped coriander, fresh ground black pepper and transfer to serving plate.
Serve over a bowl of cooked basmati rice and garnish with extra chopped coriander and fresh chilli slices. Or you can serve with any of your favourite naan, chapati, or flatbread.
Notes
Tomato puree - You can add tomato puree, concentrate or paste to bring more colour and creamy tomato texture to the dish.
Shallot onion - I love to use shallot onion in my curries as it is softer and melts quicker in the gravy than regular onions. But if you cannot get shallot onion, it's totally fine to add the regular sweet or red onion.
Garam masala - You can buy garam masala in most supermarket Asian spice counter. Essential Indian mixed spice must keep ingredient in your pantry if you are a curry lover.
Cumin powder - Cumin powder is also called Jeera or Zeera powder in some packaging. It has a warm, earthy flavour. You can use either cumin powder or cumin seeds for this recipe.
Ginger and garlic paste - Freshly grated garlic paste and ginger paste are best to add to curries but if you are in hurry, you can add readymade ginger garlic paste.