Boil 6 cups of salted water in a large pot set over high heat. Add the pasta and cook for 6 minutes. Drain the cooked pasta and set it aside.
16 ounces dry elbow macaroni
In the same pot, melt the butter. Add the flour, cayenne pepper, garlic powder, onion powder, salt, and pepper. Whisk until the mixture starts to brown, about 2 minutes.
2 tablespoons unsalted butter, 2 tablespoons all-purpose flour, ½-1 teaspoon ground cayenne pepper, 1 teaspoon garlic powder, 1 teaspoon onion powder, ½ teaspoon kosher salt, ½ teaspoon ground black pepper
Whisk in the milk and continue stirring until it starts to thicken, about 5 minutes.
2 cups milk
Stir in the cheddar and mozzarella cheeses until fully melted. Mix in the cooked pasta.
4 ounces cheddar cheese, 4 ounces mozzarella cheese
Pour the macaroni into a 9x13-inch baking pan and spread it out. Cover and refrigerate for at least 2 hours.
Once the macaroni is chilled, remove it from the refrigerator and line a baking sheet with parchment paper. Form equal size 2-inch balls from the mac and cheese and place them onto the prepared pan.
Cover the baking sheet and freeze for at least 2 hours.
Once the balls are frozen, prepare the oil. Fill a deep-frying skillet or Dutch oven with 3 inches of oil. Heat the pan of oil over medium heat until it reaches 300°F.
Vegetable oil
While the oil heats, prepare the breading. Whisk the eggs and water together in a shallow bowl. Pour the bread crumbs into another bowl.
2 large eggs, ¼ cup water, 2½ cups Panko breadcrumbs
Place a cooling rack on top of a baking sheet. Set aside.
Remove the mac and cheese balls from the freezer. Dip each ball into the whisked eggs and then coat with bread crumbs.
Once the oil is hot, work in batches to fry the balls. Fry 5-6 balls at a time for about 3 minutes, flipping halfway through or until golden.
Place the fried Mac and cheese balls on the cooling rack while the rest of the balls cook. Serve with dipping sauce and enjoy!