In a large skillet, warm the oil over medium-high heat. Add the onions and cook until golden. Add the garlic and ginger, and saute for another minute. Stir in the coriander, paprika, garam masala, cumin and cayenne, if using and cook for 1 minute.
Add the beef, breaking up lumps with a spoon, and saute until the meat is no longer pink. Add the tomatoes, 1 cup of water and season with salt and pepper. Sprinkle in the fresh English peas. Stir well and simmer, partially covered, about 10 minutes or if using frozen peas, add them now, and cook another 5 minutes, partially covered.
Stir in the vinegar and chopped cilantro. Garnish with torn cilantro leaves and serve with warm chapatis or pita bread.