In a large soup pot, add olive oil, butter and garlic. Simmer until garlic is soft but not brown.
Add the rest of the ingredients (except for the broth) to the pot. Increase the heat to medium high.
Mix all the ingredients together until well combined. Slowly cook until the onions are very soft and a deep caramel golden brown.
Deglaze the pot with the sherry and let simmer for 10 minutes.
Add the beef broth or stock and cook on low for 2 hours.
Ladle soup into bowls.
Top with croutons or french bread. Cover with provolone and parmesan cheeses. Broil in oven until cheese has melted.
Top with fresh minced garlic and parsley.