In a large skillet, heat the vegetable oil over medium heat. Add the chopped onion and sauté until translucent, about 5 minutes.
Stir in the minced garlic and grated ginger, cooking for an additional 1-2 minutes until fragrant.
Add the ground beef to the skillet, breaking it apart with a spatula. Cook until browned, about 5-7 minutes. Drain excess fat if necessary.
Sprinkle the curry powder, cumin, coriander, turmeric, cayenne pepper, salt, and pepper over the beef mixture. Stir well to coat the meat evenly with the spices.
Pour in the diced tomatoes (with their juice) and add the frozen peas. Stir to combine, then bring the mixture to a simmer.
Reduce the heat to low and let it simmer for about 10 minutes, allowing the flavors to meld together.
Taste and adjust seasoning if needed. Serve hot over cooked rice or with naan, garnished with fresh cilantro.