Preheat and prep: Place a large skillet over medium-high heat. Dice the onion and bell pepper, slice the mushrooms, and mince the garlic so everything is ready to go.
Brown the beef: Add the beef to the hot skillet.
If it’s very lean, add olive oil first. Cook 4–6 minutes, breaking it into crumbles, until browned with just a hint of pink left. Spoon off excess fat if needed.
Build the base: Add onion, bell pepper, and mushrooms.
Cook 5–6 minutes, stirring occasionally, until the veggies soften and the mushrooms release their moisture. Stir in the garlic and cook 30 seconds until fragrant.
Season with holiday spices: Sprinkle in rosemary, thyme, cinnamon, clove (or allspice), black pepper, and red pepper flakes if using. Stir for 30 seconds to bloom the spices.
Add festive brightness: Stir in the cranberries, diced tomatoes, and beef broth.
Bring to a steady simmer. The cranberries will soften and some will burst, adding tartness.
Fold in protein and fiber: Add the cannellini beans. Simmer 6–8 minutes, stirring a few times, until the sauce thickens slightly and cranberries are tender.
Finish with greens and citrus: Stir in the spinach or kale until just wilted, 1–2 minutes.
Add orange zest and 1 tablespoon orange juice. Taste and add up to 1/2–1 teaspoon more juice if you want extra brightness.
Adjust and serve: Season with salt to taste. Remove from heat.
Garnish with fresh parsley. Serve as-is, or spoon over quinoa, brown rice, or cauliflower rice. For a creamy finish, top with a little crumbled feta or goat cheese.