01 - Bring a pot of salted water to a boil. Add elbow macaroni and cook until al dente according to package directions. Drain and set aside.
02 - In a saucepan, melt butter over medium heat. Add flour and whisk continuously for 1 minute to create a roux.
03 - Gradually whisk in milk while stirring to avoid lumps. Continue cooking for 2 to 3 minutes until the sauce thickens and coats the back of a spoon.
04 - Remove the saucepan from heat. Stir in grated cheddar cheese, mozzarella cheese, garlic powder, onion powder, salt, and pepper until completely smooth and well combined.
05 - Combine the cooked macaroni with the cheese sauce. Spread the mixture evenly in a baking dish. Allow to cool to room temperature, then cover and refrigerate for at least 2 hours until firm.
06 - Using a spoon or small ice cream scoop, form the chilled mac and cheese mixture into balls 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, dip in the egg mixture, then roll in the panko-paprika mixture. Place breaded balls on a clean tray.
09 - Heat vegetable oil in a deep fryer or heavy-bottomed pot to 350 degrees Fahrenheit. Use a thermometer to ensure accurate temperature.
10 - Working in batches to avoid overcrowding, carefully place breaded mac and cheese balls into the hot oil. Fry for 2 to 3 minutes, turning occasionally, until golden brown on all sides.
11 - Remove fried balls with a slotted spoon and drain on paper towels. Serve immediately while hot with preferred dipping sauces.