In a high speed blender add crushed tomatoes, broth, roasted peppers and tomato paste. Blend until smooth.
For the meatballs, place the breadcrumbs and milk in a large bowl and mix well to combine. Set aside for 5 minutes.
In the meantime, dice the eggplant, slice the shallot and mince the garlic.
Add the beef, egg, garlic, ricotta, seasoning, salt and pepper to the breadcrumbs. Mix just until combined, using your hands. Roll the meat into 2-tablespoon sized balls.
Preheat the oven to 200°C/400°F.
In a large oven-proof skillet, heat 3 tbsp olive oil over medium heat. Brown meatballs on all sides, remove from skillet.
In the same skillet, add shallot and garlic, cook for 2-3 minutes until soft. Add 3 tbsp olive oil, then the eggplant cubes. Cook for 5 minutes, and add in orzo. Stir and cook for 1 minute.
Stir in prepared tomato sauce, salt, pepper, paprika, oregano, thyme, basil and chili flakes. Bring to a boil, cover and simmer on very low heat for 8 minutes until the sauce has thickened slightly. Stir from time to time with a wooden spoon. If needed, add a little bit of water.
Add meatballs to the sauce, simmer for 5 minutes or until the orzo is al dente. Sprinkle with mozzarella and fresh thyme. Place in the oven until the mozzarella is melted and golden, about 10 minutes. Serve!