If using fresh spinach, bring a large saucepan filled 2/3 full with water to a rolling boil.
Add the spinach and cook for 1 to 2 minutes, or just until spinach wilts and water returns to a boil. Using oven mitts or pot holders, remove from the heat and strain the spinach in a colander set in the sink. Rinse under cold running water until cool.
If using frozen spinach, skip steps 1 and 2. Let the spinach thaw and drain in a colander set in the sink.
Using your hands, squeeze the spinach to remove as much liquid as possible. You should have about 1 1/2 cups of spinach.
Place spinach on a cutting board and chop finely. Set aside.
In a heavy medium saucepan, melt the butter over medium-high heat. Add the onion and cook until soft, about 3 minutes. Add the garlic and cook until fragrant, about 1 to 2 minutes. Do not allow garlic to brown.
Add the flour and stir to combine. Cook, stirring constantly, until mixture is a light-blond color, about 1 to 2 minutes.
Whisk in the heavy cream and milk, little by little, until the mixture is smooth. Continue to cook until the mixture comes to a boil and thickens, about 2 minutes.
Reduce the heat to medium-low and simmer for 3 to 4 minutes.
Add the Parmesan cheese, lemon juice, Baby Bam, and salt, and stir to combine well.
Remove from the heat. Add the sour cream, chopped spinach, and Monterey Jack or pecorino Romano cheese and stir until the cheese is melted.
Serve immediately, with tortilla chips, Blow-You-Away Bagel Chips, or other dipping chips of choice.
YIELD: About 2 1/2 cups, serving 4 to 6