Heat a saucepan over medium heat, saute garlic and onion in butter/olive oil until softened, 3 to 5 minutes.
Stir in flour and cook for 2 minutes. Mixed well with the fat.
Slowly whisk in cream, milk, and chicken broth. Whisk until the sauce is lump free.
Continue cooking and stirring over medium heat until boiling. Stir in Parmesan cheese, lemon juice, hot sauce, salt and pepper. Stir until the cheese has melted, then turn the heat to low and stir in the sour cream.
Squeeze the spinach dry in a towel, and coarsely chop the artichoke hearts. Fold in the spinach and artichoke hearts in the sauce.
If not serving right away, transfer the mixture into a microwave-safe dish and sprinkle cheddar cheese on top. The dip can be refrigerated until ready to serve.
To serve, microwave dip on 50% power until the sauce is warm and cheese is melted.