Heat olive oil in a large skillet over medium-low heat. Add the thinly sliced onions and salt, then stir occasionally for 25-30 minutes until the onions turn deep golden brown and develop a rich, sweet flavor. This slow cooking process breaks down the onions' natural sugars, creating the sweet caramelized base that defines this dip. While the onions cook, you can prepare the other ingredients.
If using frozen spinach, place it in a fine-mesh strainer and let it thaw completely, then squeeze out as much moisture as possible using your hands or by wrapping it in a clean kitchen towel and pressing firmly. Dry spinach is crucial here—excess water will make the dip watery. Once prepared, set the spinach aside and preheat your oven to 350°F, lightly oiling a 9x13 inch baking dish or similar size.
In a medium bowl, combine the room-temperature cream cheese, mayo, finely grated pecorino romano, minced fresh parsley, lemon juice, garlic powder, and red pepper flakes. Mix until smooth and well combined. I like to use room-temperature cream cheese here because it blends easily without lumps—if yours is cold, let it sit on the counter for 15 minutes first. This mixture creates a creamy, flavorful foundation for the dip.
Fold the caramelized onions from Step 1 and the prepared spinach from Step 2 into the cream cheese mixture from Step 3, stirring gently until everything is evenly distributed. Be careful not to overmix—you want to maintain a slightly chunky texture with visible onion pieces. Transfer the entire mixture into your prepared baking dish, spreading it into an even layer.
Bake the dip for 15-20 minutes at 350°F until the edges are lightly golden and the dip is heated through and just beginning to bubble around the edges. For the best texture, I pull it out when it's warm but still has a little give in the center—overbaking can make it dry. Remove from the oven and let it cool for 2-3 minutes before serving with crackers, toasted bread, or fresh vegetables.