Heat oil in a large pot over medium heat.
Add chopped onions and sauté until golden brown.
Stir in minced garlic and grated ginger, cooking for 2 minutes.
Add the beef cubes, browning them on all sides.
Mix in chopped tomatoes and cook until soft.
Add curry powder, cumin, and turmeric, stirring well.
Pour in the coconut milk and bring to a simmer.
Season with salt and pepper, then cover and let simmer for 45 minutes.
Stir occasionally and check if more liquid is needed.
Garnish with fresh cilantro before serving.