Make the meatball mixture: In a large mixing bowl, combine the ground beef, breadcrumbs, finely chopped onion, minced garlic, dried parsley, salt, pepper, nutmeg, and allspice. Add the egg and milk, and mix everything together until well combined. Be careful not to mix too vigorously, as this could lead to tough meatballs.
Shape the meatballs: Using your hands or a spoon, form the mixture into meatballs, about 1 to 1.5 inches in diameter. Transfer the meatballs to a serving platter or a tray.
Cook the meatballs: Heat a tablespoon of oil in a large skillet over medium heat. Introduce the meatballs to the pan in small groups, making sure not to overcrowd it. Brown the meatballs on all sides, cooking them for about 6-8 minutes in total until they're browned and mostly cooked through.
Make the Dijon gravy: In the same skillet, melt the butter over medium heat. Once melted, whisk in the flour and cook for 1-2 minutes until the mixture turns golden and has a slightly nutty aroma. Slowly incorporate the beef broth while whisking continuously to avoid any clumps. Then, slowly add the milk, continuing to whisk until the sauce is smooth.
Add the Dijon mustard: Stir in the Dijon mustard and let the sauce simmer for 3-5 minutes until it thickens slightly.
Return the meatballs to the skillet: Add the browned meatballs back to the skillet, turning them in the gravy so they're fully coated. Let them simmer in the gravy for another 5-7 minutes until the meatballs are fully cooked through and the gravy has thickened.
Serve: Once the meatballs are done, serve them hot with the Dijon gravy drizzled over top. These meatballs pair perfectly with mashed potatoes, noodles, or a side of vegetables.