In a large bowl, combine all the meatball ingredients: ground beef, chopped onion, minced garlic, minced ginger, ground coriander, ground cumin, cinnamon, smoked paprika, egg, salt, and pepper. Using your clean hands, mix well until fully combined. This is where the magic starts!
Shape the meat mixture into medium-sized meatballs. Aim for about 20 meatballs; you’ll want them to be uniform in size for even cooking.
In a large skillet, heat olive oil over medium heat. Once hot, add the meatballs carefully, avoiding overcrowding. Fry them until they are golden brown all around, which should take about 7 minutes. If your skillet isn’t large enough, don’t hesitate to do this in batches.
Transfer the meatballs to a plate and set aside. This keeps them warm while you work on the sauce.
Using the same skillet, pour in the beef broth. Use a spatula to deglaze the skillet, stirring and scraping all the brown bits stuck at the bottom. This will add incredible flavor to your sauce. Bring it to a simmer, ensuring there are no more brown bits.
Add the remaining spices: ground coriander, ground cumin, fennel seeds, red pepper flakes, salt, and pepper. Stir well and let it cook for about 1 minute, allowing the liquid to reduce by half. You'll notice the sauce thickening beautifully.
Next, add the chopped onion, minced garlic, minced ginger, and tomato paste to the skillet. Stir and cook for 3 to 5 minutes, until the onion is soft and translucent.
Now it’s time to add the tomato puree. Stir it into the mixture and bring everything to a boil. Once boiling, reduce the heat to a gentle simmer.
Cover the skillet and simmer for 10 minutes. This helps the flavors meld while keeping the sauce from splattering everywhere.
Lastly, add the meatballs back to the skillet. Toss them gently in the sauce, ensuring they are coated well. Cover and let them simmer for an additional 20 minutes.
Once done, garnish with fresh mint. Serve your Moroccan Meatballs over pasta or fluffy couscous for a complete meal!