Peel and cut the onions in half, then quarter them. Slice into 1/4-inch thick slices and separate the rings before proceeding. In a Dutch oven over medium to medium-low heat, melt the butter. Add the onions and sauté for 25 minutes, stirring occasionally, until golden.
Sprinkle the flour over the onions and blend well. Slowly add the broth while stirring. Continue stirring until it comes to a boil (about five minutes)
Add the molasses, parsley, thyme, bay leaf, salt, pepper, cayenne, and sherry. Stir, then reduce the heat to low and let it cook for 40 minutes until the onions are tender. Adjust salt, pepper, and cayenne pepper to taste.
When ready to serve, preheat your broiler to 400°F. Spoon the soup into 4-6 bowls. Place a slice of bread in each bowl, then top with mozzarella cheese. If desired, sprinkle with paprika and parsley.
Place the bowls under the broiler for about 5 minutes or until the cheese is golden (but not burned). Serve immediately, as the cheese is best when hot.