Preheat oven to 350 degrees.
In a large saucepan, cook bacon until crispy, about 10 minutes, and drain on paper towel-lined plate. Discard all but one teaspoon bacon fat from pan.
Add onion to pan, season with salt and pepper, and stir; about 8 minutes. Add flour and stir to combine.
Add spinach, milk, Greek yogurt, sour cream, and cream cheese to saucepan. Use a spatula to break up cream cheese and stir until it’s all melted. Continue stirring until you have a creamy consistency.
Add bacon back to the pan and incorporate ¼ cup of grated cheese. Stir to combine.
Transfer the spinach dip into a shallow baking dish (I used an 8x8 dish) and top with the remaining ¼ cup of the grated cheese. Bake for about 15 minutes until the dip is golden brown and bubbling.
Serve dip hot with garlic toasts or the accompaniment of your choice.