In a large pot or Dutch oven, heat the vegetable oil over medium-high heat. Add the beef stew meat and brown on all sides, about 5-7 minutes. Remove the beef and set aside.
In the same pot, add the diced onion and sauté until translucent, about 3-4 minutes. Stir in the minced garlic and grated ginger, cooking for an additional minute until fragrant.
Add the curry powder, cumin, coriander, turmeric, and red pepper flakes to the pot. Stir well to coat the onions and cook for 1-2 minutes to toast the spices.
Return the browned beef to the pot. Pour in the diced tomatoes with their juices and the beef broth. Stir to combine. Bring to a simmer, then reduce the heat to low, cover, and let it cook for 1.5 to 2 hours, or until the beef is tender.
After the beef is tender, stir in the coconut milk and frozen peas. Cook for an additional 10 minutes, allowing the flavors to meld. Season with salt and pepper to taste.
Serve hot, garnished with fresh cilantro. Enjoy over rice or with naan bread.