Cook the chopped bacon in a medium skillet over medium heat until crisp, stirring frequently. Remove from the skillet to a small bowl.
Drain all but 2 tablespoons of the drippings from the skillet. Add the shallot and cook for 1 minute, stirring occasionally. Add the spinach. Cook for an additional minute, stirring occasionally. Remove to a small bowl.
Add the cream cheese, shredded cheese, grated cheese, milk, and sour cream to the skillet. Cook over low heat until melted and thoroughly heated. Fold in the spinach/shallot mixture and all but 1 tablespoon of the bacon.
Garnish with the remaining bacon. Serve with crisp crackers or pita chips.