Caramelize onions: In a skillet, heat 1 tablespoon of oil and 1 tablespoon of butter over medium-low heat. Add onions and cook until soft and golden brown, about 25-30 minutes. Set aside.
Prepare fillings: In a separate pan, warm up the black beans and spinach.
Assemble quesadillas: On a griddle, place tortillas and top with beans, onions, spinach, and cheese. Cover with another tortilla.
Cook quesadillas: Cook until the bottom is crispy and cheese begins to melt. Brush the top with oil, flip, and cook until the other side is crispy.
Serve: Cut into wedges and serve with optional salsa, sour cream, and cilantro.