Cook macaroni according to package directions.
In a large saucepan, melt butter over medium heat; add onion and cook for 5 minutes or until translucent.
Add flour and cook for another 3 minutes, stirring often. Add dairy-free milk, sea salt and pepper, continue to mix and cook until mixture comes to a boil, approximately 10 minutes. Reduce heat to low and cook for another 15 minutes, stirring often.
Add spinach, red pepper flakes, marjoram and cheeses. Cook for another 5 minutes, stirring often. Add in cooked macaroni; gently toss to combine.
Top with parmesan cheese.