Preheat the oven to 350°F.
Grease a 9x13-inch baking dish.
Heat the olive oil in a skillet over medium heat.
Add the diced onion and cook until soft and translucent.
In a large stockpot, combine the milk, dry mustard, garlic powder, crushed red pepper flakes, and cooked onion.
Bring to a gentle simmer.
In a medium saucepan, whisk together the melted butter and flour over low heat.
Cook, stirring constantly, for 3–4 minutes to form a smooth roux.
Whisk the roux into the simmering milk mixture.
Continue stirring until the sauce thickens.
Add the cubed Velveeta, cheddar, Monterey Jack, and 1½ cups shredded Monterey Jack cheese.
Stir until completely melted and smooth.
Remove the sauce from the heat and let it rest for 10 minutes.
Fold in the well-drained spinach until evenly combined.
Transfer the mixture to the prepared baking dish.
Sprinkle the remaining 1½ cups shredded Monterey Jack cheese over the top.
Bake for 15–20 minutes, or until hot, bubbly, and the cheese has melted. Serve warm.