Place a saucepan of water on a high heat and bring to a boil. Once boiling, add in the pasta and cook for the minimum time on the package (usually 9 minutes). Once cooked strain well.
While the pasta is cooking, you can make a start on the sauce. Place a large saucepan on a medium heat then add the butter and allow to melt. Stir in the flour and cook for 1 - 2 minutes.
Gradually whisk in the milk until smooth without any lumps. Stir in the single cream then allow to cook for 1 - 2 minutes or until the sauce thickens. Stir in both cheeses and mix until they melt then add and mix in the salt, black pepper, onion powder, garlic powder and paprika.
Add the strained cooked pasta into the saucepan with the cheese sauce and combine the pasta with the sauce. Once combined, add the cheesy pasta to a baking dish and set aside to completely cool.
When the macaroni cheese has cooled, cover with foil and refrigerate for a minimum of 2 hours to allow the macaroni cheese to set which will make it easier to roll into balls.
Line a tray with baking paper and set aside. Once the macaroni has set, break off a piece and shape it into a ball then place it on the lined tray. Each ball should weigh around 30g. Repeat the process until you use up all the macaroni cheese then place the balls in the freezer for around 60 minutes to become firmer but ensure they don't become frozen solid.
Gather 3 bowls. To one bowl, add the flour and seasonings then whisk them together. To another bowl, add and whisk the eggs and to the last bowl, add the panko breadcrumbs.
Take one macaroni ball dip it in the flour and dust off any excess. Dip the same ball in the egg and fully coat ensuring you drain off any excess then dip it into the panko and fully coat. Place the ball back onto the tray then repeat the process with the rest of the macaroni balls. Set the tray aside at room temperature for 15 minutes.
Heat a heavy duty pan on a medium to high heat then add in the oil which should be enough to cover each ball halfway. Once the oil has heated, add some of the balls to the oil ensuring there is space between them. Cook for 4 - 5 minutes turning half way through until golden brown. I cook the Mac and cheese balls in batches to avoid cramming them in. If the mac and cheese balls are browning too quickly then slightly reduce the heat.
Remove the mac and cheese balls from the pan and place on a plate lined with kitchen towel. Cook the rest of the mac and cheese balls then serve with your favourite dip.