01 - Cook the elbow macaroni in salted boiling water according to package directions. Drain thoroughly and set aside.
02 - Melt the butter in a saucepan over medium heat. Whisk in the flour and cook for 1 minute, stirring constantly to form a smooth paste.
03 - Gradually whisk in the milk, stirring constantly to prevent lumps. Cook for 2-3 minutes until the sauce thickens slightly. Lower heat and add sharp cheddar, mozzarella, salt, pepper, and paprika. Stir until completely smooth and melted.
04 - Add the drained macaroni to the cheese sauce. Mix thoroughly until every piece of pasta is evenly coated.
05 - Transfer the mac and cheese mixture to a baking sheet lined with parchment paper. Spread into an even layer, cover, and refrigerate until firm, at least 2 hours. For faster results, freeze for 30 minutes.
06 - Scoop heaping tablespoons of the cold macaroni mixture and roll into 1.5-inch balls, packing firmly to hold shape.
07 - In a small bowl, whisk eggs with 2 tablespoons milk. Place flour in a second bowl and breadcrumbs in a third bowl. Arrange in assembly line order: flour, egg mixture, breadcrumbs.
08 - Dredge each ball in flour, shaking off excess. Dip in egg mixture, then coat thoroughly with breadcrumbs. Place breaded balls on a tray. Repeat until all balls are coated.
09 - Pour vegetable oil into a deep pot to a depth of 2 inches. Heat to 350°F, using a deep-fry thermometer for accuracy.
10 - Fry the balls in batches of 4-6, turning occasionally, until golden brown and crispy, about 2-3 minutes per batch. Remove with a slotted spoon and drain on paper towels.
11 - Serve immediately while hot and crispy, accompanied by warm marinara sauce for dipping. Garnish with chopped fresh parsley if desired.