Heat vegetable oil in a large pot or Dutch oven over medium heat. Add onions; cook, stirring frequently, until well browned, about 20 minutes. Add garlic; stir constantly for 1 minute. Pour in beef broth, chicken broth, and pale ale. Stir black pepper and bay leaves into the soup.
Bring soup to a simmer. Cover and simmer until flavors combine, about 30 minutes.
Set oven rack about 6 inches from the heat source and preheat the oven's broiler on low. Spread French bread slices on a baking sheet.
Broil French bread slices until very lightly toasted, 30 seconds to 1 minute. Divide mozzarella cheese and Parmesan cheese evenly over bread.
Broil bread until cheeses are bubbly and browned, 1 to 2 minutes.
Ladle soup into serving bowls and top each bowl with a slice of French bread.