Heat the olive oil in a pot. Saute the tomatoes, carrots, onions and garlic with the oregano and a bit of salt and pepper until the tomatoes soften a little.
Add the basil. Stir.
Pour in the broth. Season with salt and pepper. Bring to the boil, lower the heat and simmer for about 15 minutes.
When the soup has been simmering for 10 minutes, make the roux.
Melt the butter in another pan. Add the flour and stir until smooth. Cook over medium heat for about five minutes, stirring often.
Take a cup of broth from the other pot (it's quite okay if some of the solids get included) and pour into the roux in a thin stream, stirring as you pour. Repeat until the mixture is thin enough to pour.
Pour the roux into the soup. Stir. Add the meatballs and beans. Taste. Add more salt and pepper, as needed.
Simmer for another 10 minutes.
Stir in the Parmesan cheese until melted. Taste and adjust the seasonings one last time before serving.