Heat 1 tbsp olive oil in a large nonstick skillet over medium heat. Add the red onion and cook 3-4 minutes until soft.
Stir in the black beans, chili powder, cumin and salt; cook 2 minutes, mashing about a quarter of the beans with the back of a spoon. Add the spinach and stir 1 minute until wilted. Scrape into a bowl, wipe the skillet.
Heat the remaining 1 tbsp oil over medium-low. Pour in the eggs and cook 3-4 minutes, stirring slowly, until just set and still glossy. Off the heat, fold in the cheese if using.
Wrap the tortillas in a damp paper towel and microwave 45-60 seconds so they roll without cracking.
Fill each tortilla with about 1/4 cup bean mixture and an equal share of the eggs (about 1/3 cup), plus 1 tbsp salsa. Fold in the sides and roll tightly; wrap each in foil.
Eat right away, or refrigerate wrapped burritos up to 4 days and reheat 60-90 seconds in the microwave. To freeze, bag them up to 2 months and reheat from frozen 2-2.5 minutes in the microwave or at 375°F for 25 minutes in the oven.