In a large bowl add all the meatball ingredients, and mix well using your clean hands. Shape the meat mixture into medium size meatballs. You should get around 20 meatballs.
In a large skillet heat the olive oil over medium heat. Add the meatballs and fry until golden brown all around, should take about 7 minutes. If your skillet isn't large enough you may need to do this in a couple batches. Transfer the meatballs to a plate and set aside.
In the same skillet, deglaze the skillet with the beef broth and stir and scrape all the brown bits at the bottom of the skillet. Bring to a simmer, and stir until there are no more brown bits stuck at the bottom of the skillet.
Add the coriander, cumin, fennel seeds, red pepper flakes, salt, pepper and stir. Cook for about 1 minute, the liquid should have reduced by half.
Add the onion, garlic, ginger and tomato paste to the skillet, stir and cook for 3 to 5 minutes or until the onion is soft and translucent.
Add the tomato puree or passata to the skillet and stir. Bring to a boil and turn down the heat to a simmer. Simmer for 10 minutes, covered, so that it doesn't splatter everywhere, then add the meatballs. Toss the meatballs around in the sauce, then cover the skillet and simmer for another 20 minutes.
Garnish with fresh mint and serve over pasta or couscous.