In a medium saucepan over medium heat, heat olive oil and butter. Sauté garlic and shallots until translucent, 4 to 5 minutes. Add flour and cook, stirring constantly, for 2 minutes more. Add milk, increase heat to medium-high, and whisk until mixture just begins to boil, about 6 minutes. Continue to cook, still whisking, until mixture thickens, 1 to 2 minutes more. Remove pan from heat and add Neufchâtel, 3/4 teaspoon salt, and white pepper, stirring until cheese melts. Set aside.
In a large skillet over medium-high heat, combine spinach, remaining salt, and 1/4 cup water and cook, stirring occasionally, until spinach is completely wilted, 4 to 5 minutes. Drain spinach and, once cool enough to handle, squeeze out liquid. Transfer spinach to a cutting board and roughly chop.
Return milk mixture to stovetop over medium heat. Add spinach and artichokes. Cook, stirring occasionally, until mixture begins to simmer. Add more salt and pepper, if desired, and serve hot.