In a large pot or Dutch oven, heat the vegetable oil over medium-high heat.
Add the beef or lamb pieces and brown on all sides. Remove the meat and set aside.
In the same pot, add the finely chopped onion and sauté until golden brown, about 10 minutes.
Add the minced garlic and grated ginger, and cook for another minute until fragrant.
Stir in the chopped tomatoes and tomato paste.
Add the ground cumin, ground coriander, ground turmeric, ground cinnamon, ground cardamom, ground cloves, ground black pepper, and salt.
Mix well to combine and cook for about 5 minutes until the tomatoes start to break down.
Return the browned meat to the pot.
Add the diced carrots, potatoes, and chopped bell pepper.
Pour in the beef broth or water.
Bring the mixture to a boil, then reduce the heat to low.
Cover and let it simmer for about 1 to 1.5 hours, or until the meat is tender and the vegetables are cooked through.
Taste the soup and adjust the seasoning with more salt and black pepper if needed.
Ladle the maraq into bowls.
Garnish with fresh chopped cilantro or parsley.
Enjoy your meal!