Heat oil in a big pot over medium heat. Add onion, cook for about 5 minutes until tender. Then, add garlic and cook for one more minute.
Pour in stock, water, and tomato sauce. Bring it to a boil, then lower the heat to a simmer. Add green beans and carrots.
Mix uncooked rice, spearmint leaves, parsley, salt, and pepper with the meat in a large bowl. Add a raw egg and blend.
Shape the mixture into 1-inch meatballs. Add them to the simmering soup one by one. Cover and let it simmer for 30 minutes.
Towards the end, add peas, a pinch of oregano, salt, pepper, and a dash of cayenne to taste.
Ladle the soup into bowls and garnish with chopped fresh cilantro.