In a large skillet over medium heat, melt the 4 tablespoons of unsalted butter. Once melted, add the finely chopped onion and sauté for about 3-4 minutes until translucent. Add the minced garlic and cook for an additional 30 seconds until fragrant.
Sprinkle the 2 tablespoons of all-purpose flour over the onion and garlic mixture. Stir continuously for about 1-2 minutes to cook the flour slightly and remove any raw flavor.
Slowly pour in the 1 cup of half & half while stirring constantly to avoid lumps. Continue to mix until the mixture is smooth and begins to thicken. Then, fold in the drained and squeezed dry spinach, mixing well to combine.
Add the 14-ounce can of quartered artichoke hearts (chopped and blotted dry), along with 1 cup shredded sharp Cheddar and ½ cup grated Pecorino Romano or Parmigiano Reggiano. Stir until all the cheese is melted and the mixture is creamy.
Season the dip with 1 teaspoon salt, ½ teaspoon freshly ground black pepper, and a pinch of nutmeg. Adjust seasoning to taste.
Transfer the dip to a baking dish and place it in a preheated oven at 350°F (175°C) for about 15-20 minutes or until bubbly and golden on top. Remove from oven and let cool slightly before serving with tortilla chips.