Melt 4 tablespoons of butter in a heavy-bottomed large pan over medium heat. Add the onion and sauté for 2-3 minutes. Add the spinach, artichoke hearts, garlic, and crushed red pepper (optional) to the onions and sauté for another 2-3 minutes. Season with salt and pepper to taste. Remove mixture from pan and set aside.
FOR THE RISOTTO:
Heat the broth in a medium saucepan over medium-low heat and keep hot (broth must be hot before adding to rice). In the same large pan that the spinach artichoke mixture was cooked in, melt 2 tablespoons of butter over medium heat. Add the Arborio rice and cook, stirring continuously, for about 1 minute, making sure all rice is coated with the butter.
Add the wine and stir constantly until the wine has fully absorbed into the rice, about 1-2 minutes. Add the hot broth, 1 cup at a time, to the rice and stir constantly until the broth is almost fully absorbed into the rice. Continue to add the broth until the rice is tender and mixture is creamy, about 20-25 minutes. Add more broth for a creamier texture. Rice should be slightly al dente (firm to the bite), not mushy, and a very creamy texture.
Reduce heat to low and stir in the Havarti cheese, the remaining 1 tablespoon of butter, and the spinach artichoke mixture. Stir well and heat through for a couple of minutes. Serve immediately.
Store leftovers in a tightly covered container in the refrigerator for up to 3 days.