Preheat oven to 450°F.
Heat 2 tablespoons olive oil in a large oven-safe skillet or cast iron pan over medium heat. When oil shimmers, add 1/2 teaspoon red pepper flakes (optional) and 1 small white or red onion. Sauté 3-5 minutes, or until translucent. Add 4-6 cloves garlic and sauté for about a minute, until very fragrant.
Add in 8 ounces button or cremini mushrooms (optional) and sauté for another 3-5 minutes, until they have shed some of their moisture. Then stir in the diced 1 green or red bell pepper (optional) and sauté for just another minute.
Pour in the drained 2 (15 oz) cans cannellini or butter beans along with the 2 - 3 cups marinara sauce. (If you'd prefer to build your own sauce rather than use jarred marinara, see the notes.) Allow the mixture to come to a gentle simmer, then fold in baby spinach (optional), sliced 1 (2.25 oz) can sliced black olives (optional). Allow to simmer just until the spinach has wilted (about 1-2 minutes), then remove from heat.
Sprinkle the 2 cups vegan mozzarella shreds evenly over the top of the beans, then transfer to the preheated oven. Bake for about 10 minute, until the cheese is melted and bubbly. (Optionally, you can finish it under the broiler to brown the cheese, but keep a careful eye on it to avoid smoke. It only needs a few minutes.)
It will be piping hot when it comes out of the oven! I recommend letting it cool for at least 5 minutes before you dig in. Garnish with fresh basil and vegan parm if desired, and serve with crusty bread for dipping!