- Whisk the vinegar, garlic, ginger, yogurt, salt, black pepper, and curry powder together in a mixing bowl. Mix in the beef cubes until evenly coated. 
- Cover the bowl with plastic wrap, and marinate in the refrigerator overnight (or at least 30 minutes). 
- Heat the vegetable oil in a large pot over medium heat. 
- Cook and stir the onions in the hot oil until they soften, turn translucent, and begin turning golden brown, about 10 minutes. 
- Add the beef cubes, and cook, stirring frequently until the meat is no longer pink on the outside, about 10 minutes more. 
- Stir in the tomatoes and cook for 5 minutes 
- Pour in the stock, and bring to a simmer. Cover and reduce heat to medium-low; cook until the beef is tender, about 40 minutes. 
- Sprinkle with cilantro to serve. Serve over cooked rice.