1. Heat a large stock pot over medium high heat. Add the olive oil.
2. Brown the beef cubes for three minutes in the oil, then add the onions and garlic. Lower the heat to medium low and cook until the onions are cooked and just start to caramelize. Stir as needed to keep onions and garlic from burning. Lower heat if necessary; drizzle a little more olive oil if needed to keep food from sticking.
3. Add everything except the tomatoes to the pot and stir well. Increase the heat and bring the soup to a boil, then turn heat to low, cover pot, and simmer for two hours, stirring occasionally. Adjust heat as necessary to keep soup at a slow simmer. If the soup thickens too much, add a little more water or broth.
4. Taste to correct seasonings, then add tomatoes and simmer for another hour. Remove bay leaf before serving. Makes 8 servings.