Heat a pan on the stove top over medium heat. I recommend a Dutch oven, cast iron skillet, or another pan that is oven safe in order to . This allows you to make the entire dish in one pan. The other option is to make this on the stove top in a sauce pan and then transfer to a baking dish
Preheat oven to 350 degrees. While this preheats, set out the cream cheese to come to room temperature. Hot Tip! If your cream cheese is still cold, unwrap, cut into 1/2 wedges and place in a large bowl. Microwave for 15 seconds, then remove, flip the cream cheese wedges and heat one more time for 15 seconds. This should soften it enough to be mixable.
Drain artichoke hearts and rough chop. Dice the onion and jalapenos (sometimes I will do this in a food processor). Mince the garlic if using whole garlic.
Melt butter in hot pan and saute onions. Saute for 3-4 minutes on medium heat and then add garlic and jalapeños. Continue to saute until garlic is fragrant. This should be 1-2 minutes more.
Add spinach and artichoke hearts to pan. Cook until the spinach has wilted down. Approximately 6-8 minutes. The spinach will overflow and be everywhere! That's ok! Even full size regular spinach will melt down tremendously after being sauted for a couple minutes. Just be patient until it wilts!
Drop the heat to low. Add cream cheese and mix well. I find that it helps to break the cream cheese up into small pieces with a spatula. Once melted, mix everything together until well combined and smooth.
Add remaining ingredients. Mix everything together until well combined. Keep mixing until all the cheese is melted and gooey. Transfer to a baking dish if need and then place in the oven.
Bake for 10 minutes and broil. After 10 minutes, switch to broil and bake for another 5-7 minutes until golden brown.
Enjoy this cheesy spinach artichoke dip with toasted sourdough, chips, veggies, or however you like (might I suggest this spinach dip on a burger??)! Ya for gluten-free appetizers!