Heat 1 tablespoon oil in a large frying pan over high heat. Add beef. Cook beef, stirring occasionally, for 4-5 minutes or until browned on all sides. Do this in batches if needed. Remove from pan. Set aside.
Reduce heat to medium-high. Add 1 tablespoon oil. Add onions and sauté, stirring occasionally, for 2-3 minutes or until browned.
Add ginger and garlic. Sauté, stirring, for 1-2 minutes or until fragrant.
Add ground turmeric, ground cumin, ground coriander, garam masala and red chili powder. Sauté, stirring, for few seconds or until fragrant.
Add tomato paste. Sauté, stirring, for 1 minute.
Add beef stock (broth) and water. Stir to combine. Season with salt and pepper.
Bring to a boil. Add browned beef.
Cover and cook for one hour.
Garnish with coriander (cilantro) leaves.
Serve over a bed of rice or with rotis and parathas.