In a large mixing bowl, add all ingredients for the meatballs and mix well with your hands. Shape into 45-50 mini meatballs (or 20-25 regular meatballs). Set the meatballs aside.
In a large pot or Dutch oven, heat the oil over medium heat. Once the oil is hot, add the chopped onion and shredded carrots. Cook, stirring frequently, for about 5-6 minutes. Add in the minced garlic, stir, and cook for 1 minute more.
Add the tomato sauce and broth or water. Cover the pot with a lid and bring to a boil.
Add the lentils, uncooked meatballs, salt, and pepper, and let everything come to a boil again. Lower the heat to low and simmer uncovered for 15-20 minutes until the soup is thick and the meatballs are cooked through.
Serve the soup topped with chopped parsley or dill and enjoy!