Preheat oven to 350 degrees. In a medium saucepan, cook bacon over medium, stirring occasionally, until browned and crisp, 10 minutes. Drain bacon on paper towels. Discard all but 1 tablespoon fat from pan. Add onion to pan, season with salt and pepper, and cook, stirring occasionally, until tender, 8 minutes. Add flour and cook 30 seconds. Add spinach, milk, sour cream, and cream cheese. Cook, stirring, until cream cheese melts, 2 minutes. Stir in bacon and 1/4 cup Parmesan.
Transfer mixture to a 1 1/2-quart baking dish and top with 1/4 cup Parmesan. Bake until bubbling, 14 minutes. Heat broiler and broil until top browns, 3 minutes. Let sit 5 minutes. Serve dip warm with crostini or pita chips.
For the crostini, cut a baguette into slices, brush with olive oil, and bake in a 350-degree oven until lightly toasted.
This stuff is always a hit whenever I have company, I used to serve it as an appetizer but people ate so much of it they couldn't eat dinner, so now I just use it for when we have people over for games or whatnot as a snack!!