01 - Cook elbow macaroni in salted boiling water until al dente. Drain and set aside.
02 - In a saucepan, melt butter over medium heat. Whisk in flour and cook for 1 minute until fragrant.
03 - Gradually whisk in milk while stirring continuously. Cook for 2 to 3 minutes until the sauce thickens and coats the back of a spoon.
04 - Remove from heat. Stir in cheddar cheese, mozzarella cheese, garlic powder, onion powder, salt, and black pepper until completely smooth and well combined.
05 - Combine the cheese sauce with cooked macaroni. Spread the mixture in a baking dish, allow to cool to room temperature, cover with plastic wrap, and refrigerate for at least 2 hours or until the mixture is firm enough to scoop.
06 - Using a small scoop or spoon, portion the chilled mac and cheese mixture into balls of approximately 2 tablespoons each. Place on a parchment-lined tray.
07 - Arrange three shallow bowls: Bowl 1 with all-purpose flour, Bowl 2 with beaten eggs mixed with 2 tablespoons milk, and Bowl 3 with panko breadcrumbs combined with smoked paprika.
08 - Working with one ball at a time, roll in flour to coat completely, then dip in the egg mixture, and finally coat thoroughly with the panko-paprika mixture. Place on a clean tray.
09 - Heat vegetable oil in a deep fryer or heavy-bottomed pot to 350 degrees Fahrenheit.
10 - Working in batches to avoid overcrowding, carefully place breaded balls into the hot oil and fry for 2 to 3 minutes, turning occasionally until golden brown on all sides. Use a slotted spoon to remove and transfer to paper towels for draining.
11 - Transfer the fried mac and cheese balls to a serving platter while still warm. Serve immediately with desired dipping sauces.