In a large pot, place the beef, onions, and garlic. Add water and bring to a boil. Skim off any foam that forms on the surface.
Reduce heat to a simmer and add the bay leaves and oregano. Cover and cook for about 1.5 hours, or until the beef is tender.
Add the carrots, potatoes, and corn to the pot. Cook for another 30 minutes.
Add the zucchini, cabbage, and diced tomatoes. Season with salt and pepper. Continue to cook for another 20 minutes, or until all the vegetables are tender.
Taste and adjust seasoning as needed.
Remove the bay leaves before serving.
Serve the soup hot, garnished with fresh cilantro. Offer lime wedges on the side for squeezing into the soup.