In a large soup pot, brown the diced bacon. Do not drain the grease!
Add the carrots, celery and onion. Cook until the onions are translucent. Add spices, garlic and lemon juice part way through the cooking.
Next add the broth, tomatoes and tomato paste. Bring to a slow boil. You will need to let the soup boil for about an hour. Stir frequently.
Once the soup has been boiling for 30 minutes, add beans, fresh basil and pasta.
Let the soup slow boil for another 30 minutes. Continue to stir frequently.
Ladle soup in individual bowls, top with freshly grated parmesan.
Notes
Bacon can be substituted by pancetta, back bacon or omit completely if you are trying to make a vegetarian or vegan version. Instead, use a tablespoon of oil.
You can use any pasta that you wish, but we recommend something small that will easily fit on a spoon, like small shell pasta.
This soup can be kept for up to 4 days in the refrigerator. If you want to keep it even longer, you could freeze it for a few months.