2 cups elbow macaroni, uncooked
½ small yellow onion, finely chopped
3 cloves garlic, minced
2 large eggs
2 (12 oz) cans evaporated milk
1 tablespoon unsalted butter
1 teaspoon kosher salt
¼ teaspoon pepper
1 teaspoon mustard powder
¼ teaspoon cayenne powder
¼ teaspoon paprika
½ teaspoon dried thyme
4 cups sharp cheddar cheese, shredded and divided
Preheat oven to 350°F. Coat a 9×13-inch casserole dish with cooking spray. Set aside.
In a large pot, prepare macaroni according to package directions, undercooking noodles by 1-2 minutes. Drain and return noodles back to original pot, with no heat.
Melt 1 tablespoon unsalted butter in a skillet over medium heat. Sauté onions until just golden in color. Add minced garlic and sauté until fragrant, about 1 minute. Add onion and garlic mixture to pot with macaroni and stir to combine.
Beat eggs. Add salt, pepper, evaporated milk, dry mustard, dried thyme, cayenne pepper, and paprika. Whisk until well blended. Pour egg mixture into macaroni pot. Stir to combine.
Add 3 cups of shredded cheese and stir until evenly distributed.
Pour macaroni mixture into prepared baking dish and top with 1 cup reserved cheese. Cover with foil and bake for 30 minutes. After 30 minutes, remove foil and cook for an additional 10-15 minutes, or until cheese on top is just golden in color.
Remove dish from oven and cool for 10 minutes before serving.