Preheat the oven to 350 degrees. Grease an 8 x 8” or a 9 x 9” baking dish and set aside.
Place the cream cheese in a large microwave-safe bowl and heat for 1 minute.
Remove from the microwave and add the sour cream and spices (red pepper flakes, paprika, cayenne, onion powder, white pepper, and ½ teaspoon of salt). Stir to combine well. Set aside.
In a skillet over medium-high heat, break apart the chopped bacon as you add it to the pan. Cook until crispy. Using a slotted spoon, remove the bacon from the skillet and drain on a paper towel-lined plate.
Drain off bacon grease.
Using the same skillet over medium heat, add the chopped shallot and continually stir until softened, but not browned, approximately 1 to 2 minutes. Lower heat if needed. Add the garlic and sauté for about 30 more seconds. Scrape into the bowl with the cream cheese mixture.
Add the spinach to the same skillet and stir occasionally to wilt all the spinach. Place the wilted spinach in a colander and press as much liquid out as possible.
Add the spinach, one cup of the Parmesan cheese, one cup of the mozzarella cheese, chopped artichokes, and drained bacon pieces to the cream cheese mixture. Combine ingredients well.
Taste for seasoning and adjust as desired.
Spread mixture into the greased baking dish. Top with remaining ¼ cup of the Parmesan and ¼ cup of the mozzarella.
Bake uncovered in the preheated oven for 25 to 30 minutes or until edges are bubbly and cheese is melted on top.
Serve warm from the oven with tortilla chips, pita chips, etc… Refrigerate any leftovers in an airtight container for up to 5 days.