In a large dutch oven, melt the butter over medium heat. Whisk in the flour until a 'roux forms. Continue cooking, whisking occasionally, for 1-2 minutes- to let the flour taste cook out.
Whisk in the half & half, about 1/2 cup at a time, until the mixture's smooth without any remaining lumps, and all of the half & half has been used. Whisk in all of the seasonings. Bring the mixture to a simmer, and allow it to cook stirring occasionally for 6-8 minutes.
Remove the pot from heat and stir in all of the cheese. Continue stirring until the cheese is completely melted/incorporated and the sauce is once again smooth. If using, add the green dye until the desired look is achieved.
Stir in the spinach, and allow it to wilt in the mixture, about 1 minute.
Add the cooked pasta to the pot and toss it with the sauce until evenly coated.
Serve immediately, and enjoy!