Prepare pasta according to directions. Drain and set aside. Lightly grease a baking dish.
Heat butter in a Dutch oven (or other heavy based pan) over medium-high heat; saute onion 5 minutes or until just brown. Add garlic, and cook about 1 minute. Reduce heat to medium-low and add spinach; cover and cook 5 minutes or until spinach is wilted, stirring occasionally.
Sprinkle spinach mixture with flour. Cook uncovered, stirring constantly, 1 minute. Gradually add milk, stirring well. Cook 5 minutes, stirring often, until thickened and smooth. Remove from heat; stir in cooked pasta, mozzarella, ricotta, sugar, salt and pepper, and red pepper. Place into prepared dish and sprinkle evenly with Parmesan.
Bake for 15 to 20 minutes until the cheese melts
You don't HAVE to bake this pasta dish, I just like to melt the cheese on the top and have it be super scoopable vs pasta/sauce-like.I add crushed red pepper to mine for an extra boost of flavor and a kick of heat. If you don't love spice, leave it out. Test for seasoning and add more salt or pepper if needed.Substitutions/AdditionsI use baby spinach, but if you don't have any - use some frozen spinach. Be sure to thaw and squeeze out as much of the moisture as you can.If you don't have ricotta, you could use some cream cheese in a pinch.If you want to add protein, I recommend grilling some chicken breasts, or some salmon.What do do with leftoversStore in the refrigerator in a covered container for a few days. When reheating in the microwave you may wish to add a little milk to stop it from drying out.