Pat dry the beef and season with salt and pepper.
Heat 1 tablespoon of olive oil in a large pot or Dutch oven over medium-high heat.
Sear the beef in batches until browned on all sides. Remove and set aside.
In the same pot, add the remaining olive oil and sauté the onions until soft and translucent.
Add the minced garlic and cook for another minute.
Stir in the chopped tomatoes, bay leaves, cinnamon sticks, cloves, and thyme.
Pour in the red wine and red wine vinegar, stirring well to deglaze the pot.
Return the seared beef to the pot, along with any accumulated juices.
Add enough water or beef broth to just cover the ingredients. Stir gently.
If desired, add sugar to balance the flavours.
Bring the mixture to a boil, then reduce the heat to low and cover with a slightly ajar lid.
Simmer for approximately 2 hours 30 minutes or until the beef is tender and easily pulls apart, stirring occasionally.
Adjust the seasoning with salt and pepper if needed.
Remove the bay leaves, cinnamon stick, and any thyme sprigs.
Allow the Beef Stifado to rest for a few minutes before serving.
Serve hot with rice, mashed potatoes, or crusty bread. Garnish with chopped fresh parsley.